ÿÿÿÿISSUE3/BLAST10/INDEX.HTM Issue 3, All in a Spin: 3D Basic
All in a Spin: 3D Basic
Andrew Boura presents pointers, general ideas and routines to help you to write programs involving 3D graphics in BASIC
Introduction
This article doesn't claim to be a 3D graphics gospel, but the routines work and should allow you to create some quite impressive graphics with surprising ease. An understanding of the maths involved is not particularly necessary. The Simple 3D program listed at the end of this article will create a multi-coloured solid cube, spinning in perspective 3D, and a much more comprehensive 3D animation program with many extra facilities is also supplied on the magazine disc.
The underlying principle involved in the routines is the use of matrix multiplication. Such facilities are built into BBC BASIC, so the calculations for the rotation of objects can be kept very simple and fast. You may be surprised to know that in order to rotate an object by a certain pre-determined amount, only one line is required:
An object comprises two parts: the points and the faces. The points are stored in a two-dimensional floating point array which has the following layout:
points(point, 0) =
points(point, 1) =
points(point, 2) =
The faces are stored in a two-dimensional integer array containing point numbers laid out as follows:
faces%(face, 0) = first poin
faces%(face, 1) = second poin
faces%(face, 2) = third poin
faces%(face, 3) = fourth poin
faces%(face, 4) = colou
Once you have initialised your points in 3D space (see figure 1) you must initialise some faces.
Figure 1
In order to be able to determine whether a face is pointing towards or away from you, you need to define the faces consistently in either clockwise or anticlockwise order. The convention for working with 3D is anticlockwise, so we will use that. For an example of how to define a face, see figure 2. If a face is initialised in the wrong order, it will be visible from the side opposite to the one you want.
Figure 2
The reason for making the faces single-sided is obvious when you consider what would happen if all the faces on a cube were double-sided. Because the program isn't clever enough to work out which side is on top (it only knows which way they face), at certain points you would see sides which should be hidden. Also, you would be wasting a lot of time as you would in most cases effectively double the number of faces which need to be handled (to see this effect, simply turn off the hidden surface removal in the full program supplied on the disc). The net result is that, for the sake of speed and simplicity, it is far easier to make objects single-sided and, if a double-sided face is required, define it in both clockwise and anticlockwise directions.
Plotting the object
Once the points and faces have been initialised, how do you plot the object? In the simplest case, you would work your way through the faces and plot them ignoring their depth as shown below:
However, this won't deal with perspective or hidden surfaces.
Perspective
In order to calculate perspective you need to use a scaling factor. This is done by the procedure PROCpoint(point, x, y). All you need to do is to feed in the raw values for the x and y coordinates; the modifications due to perspective will be applied and the values to be used when plotting or removing hidden surfaces will be returned.
The basis of perspective is that the further away an object is, the smaller it appears. Many of you will know that in art and drawing, a vanishing point is used; exactly the same idea is used in 3D graphics. Try to picture a three-dimensional cube. In order to plot this onto the two-dimensional screen we need to get rid of the third dimension (z into the screen) by taking the depth into account and modifying the x and y values appropriately (see figure 3).
Figure 3
Take a look at DEF PROCpoint in the main listing. In the first line, S represents the scale, where:
scale = constant/(z+zoom
In order to make a point appear closer, we can simply alter the value of z (the depth). By adding zoom to the value of z, we effectively alter how far away it is. The scale is then inversely proportional to the depth, so as the depth gets bigger, the scale gets smaller.
Hidden surface removal
This is more complex. First of all you need the x and y coordinates of the first three points defining the surface (meaning that triangles could be used as well as quadrilaterals in your own 3D graphics code). You carry out the following calculation (where p is short for point):
The best way to understand how this works is to think of a clock face.
Figure 4
When you look at it from the front, the numbers go from 1 to 12 in a clockwise direction. Now imagine turning the clock around so that it is facing away from you. If you could see the numbers, you would find they were now anti-clockwise (see figure 4). If all you are given is the order of the numbers on a clock face, you can still tell whether it is facing towards or away from you. If the calculation above evaluates to a negative number, then the quadrilateral is facing towards you. For the mathematically inclined, the above function calculates the scalar product of the first two sides of the quadrilateral. The sign of the result depends upon whether the vectors are in clockwise or anticlockwise order as viewed from the screen.
Rotation
We now have an object defined and we know how to display it, but how do we rotate it? The procedure PROCchangeRotation(x, y, z) sets up a rotation matrix; when the points array is multiplied by this matrix (using the formula at the start of the article), the object will rotate by the angle specified (in radians) about each axis. If you aren't comfortable using radians, you can use the RAD operator to convert from degrees.
Matrix multiplication explained
For those who want a cure for insomnia, or are mathematically inclined, the explanation of matrix multiplication is as follows. Two matrices, A and B, can be multiplied together to form their product ab when the number of columns of A is equal to the number of rows of B.
The matrix multiplication operator in BBC Basic is the full stop, so to multiply the two matrices a() and b() you would use the command a().b(). There are some complications, however, because a().b() is not, as you might expect, equal to b().a(), so it is essential that the correct order is used.
The easiest way to describe the process is by example. If A and B are (3 x 2) and (2 x 2) matrices, respectively, given by:
A = (a11, a12) B = (b11, b12
(a21, a22) (b21, b22
(a31, a32
then the product C is a (3 x 2) matrix defined as:
C = (a11 x b11 + a12 x b21, a11 x b12 + a12 x b22
(a21 x b11 + a22 x b21, a21 x b12 + a22 x b22
(a31 x b11 + a32 x b21, a31 x b12 + a32 x b22
Matrices can be used to manipulate arrays or lists of points in either two- or three-dimensional space. Simple 3D actually works by combining three matrices, one for each axis of rotation, into one matrix called rotate().
Final word
To get a better idea of how all these ideas work together, it would be well worth your while to experiment with the Simple3D BASIC program that's included in the Software.Basic3D directory on this issue, as it uses all the processes described above (in order to achieve smooth animation, Simple3D uses screen banking to switch instantly between two pictures). Also included is a more complex desktop application that can display different 3D models along with a number of sample models using the same techniques discussed in this article.
Once you have understood how it works, you will be ready to make your first leaps/staggers/trips into the world of 3D graphics; good luck!
Andrew Boura
ÿÿÿÿISSUE3/BLAST20/INDEX.HTM Issue 3, The RISC OS Time Machine - Arthur
The RISC OS Time Machine - Arthur
Originally published in RISC User between December and February 1988
Getting to Know Arthur
Whether you have used a BBC micro before or not, it Is very easy to overlook many of the good features of Arthur, the Archimedes' operating system. Mike Williams explains.
The Arthur Desktop
Arthur, as most Archimedes owners will know, is the name by which the Archimedes' operating system is known. And Arthur has many useful functions, if you know how to use and access them. If you have used a BBC micro previously, you will already be familiar with star commands (so-called because they are all preceded by a star or asterisk when entered from Basic). While most of these are still recognised by Arthur, it is easy to ignore the fact that there are many new commands as well.
The purpose of this short series is to look at some of the new functions provided by Arthur, both for those who have upgraded from BBC micros and for those for whom the Arc is their first Acorn micro.
It is perhaps tempting to think of all star commands as being operating system commands but this is not entirely correct. The name Arthur more precisely refers to the core operating system of the Archimedes which is then extended by a series of modules. These modules cover such features as the Window Manager, the Sound System, Sprites and the Filing System. All of this is resident in ROM, which means that all these functions are available on power-up. In addition, relocatable modules may be loaded from disc to extend the operating system even further, and add additional star commands to the system. Any modules, whether resident or relocatable, may be disabled if required.
In this article we will be looking predominantly at Arthur itself; later articles may deal with the star commands recognised by other resident modules. In addition, there is one star command (FX) which gives access to many different subroutines within the operating system, although these are often better accessed from machine code programs (via corresponding codes called SWI calls), or from Basic (using the keyword SYS to perform the same function). And if that were not enough, the VDU call used in Basic, and indeed many other Basic keywords, also access operating system routines.
We shall confine ourselves to those operating system functions accessed via star commands, and this will include a look at FX calls. So that you know what we are talking about, the basic operating system commands we shall cover are listed below.
*CONFIGURE*ECHO*ERROR
*EVAL*FX*GO
*GOS*HELP*IF
*IGNORE*KEY*SET
*SETEVAL*SETMACRO*SHADOW
*SHOW*STATUS*TIME
*TV*UNSET
Configuring the system
One chore which all Archimedes owners encounter is that of reconfiguring the system. This arises from the need to allocate different amounts of RAM for different circumstances, but also enables a wide variety of characteristics to be customised for when you switch the machine on, or press Ctrl-Break. You must also remember to press Ctrl-Break after reconfiguring the system in order to activate the change of setting (and thus the command cannot normally be used from within a program).
For example, sprites, screen displays, and fonts all require RAM to be allocated to provide sufficient memory space. Memory space is finite, even on an Archimedes, and can be particularly limiting on a 305 (we would suggest all 305 users consider carefully the benefits of upgrading to 1 Mbyte of memory). Even with a 310, and indeed a 440, it is not sensible to allocate the maximum amount of memory for each purpose that you are ever likely to need. For example, animation programs using bank switching in 256 colour modes (see our current series Animating Archie for more information) need as much as 160K or even 320K of screen memory. But most applications require far less. RISC User December 1988
There are two commands which you need for reconfiguring, *STATUS and *CONFIGURE. The former simply displays the current settings of all the parameters which you can change. 'CONFIGURE is the command you need to make any changes. All the information required is given in the User Guide in the chapter entitled Operating System Commands, but some additional advice may be helpful. Some settings use two different words to toggle between two settings (rather than alternative parameters with the same word).
Thus:
*CONFIG. CAPS
Or
*CONFIG. NOCAPS
can be used to determine whether a machine powers up with Caps Lock set or not. I find it easy to forget this, and waste time trying out different parameter settings. Note also the abbreviation for *CONFIGURE.
As delivered, the Archimedes always activates the Desktop after power-up or on pressing Ctrl-Break. Many users prefer their machine to activate Basic. This can be achieved by entering:
*CONFIG. Language 4
You can, of course, set the Archimedes to default to any module, and you can determine the corresponding number with the 'MODULES command.
Several configuration commands allocate memory for a specific purpose, relocatable modules, screen displays, sprite storage and so on. Unfortunately, memory size is specified not in bytes but in so-called pages. Not only that, but page sizes are different for different purposes and on different machines. The situation is summarised in Table 2.
Thus a screen mode needing 80K of memory (such as mode 12) needs a minimum screensize of 10 (that is 10 pages of 8K) on a 305, 310 or 410, but a screensize of only 3 (3 pages of 32K = 96K), but no less than this on a 440. If you know which mode a program is using, then the screensize settings are easy to calculate. For applications such as sprites and fonts such calculations are less easy, and an intelligent guess maybe a better approach, refining this later.
It is not always necessary to reconfigure memory allocations yourself using *CONFIGURE. For example, if you try to load relocatable module when Basic is active (indicated by the '>' prompt), you may encounter the message "No room in RMA" Now you can use *CONFIGURE to allocate more pages of memory to RMAsize and then press Ctrl-Break before trying again. But you may not know how much memory is needed and either allow too little, and then have to repeat the exercise, or allocate too much and waste the remainder.
The solution is to QUIT from Basic to Arthur (the prompt changes to a *. If you then try to load a relocatable module (by prefixing its name with '*' or using the *RMLOAD command), Arthur will automatically allocate the memory needed (though it will not change the status setting).
The reason for this is that loading relocatable module requires memory that might otherwise be used by Basic. Once Basic is active this cannot be changed. But when we are talking directly to Arthur there is no problem of course. This is very useful if you want to create a boot file (using *BUILD) to load in some relocatable modules before chaining a Basic program. Just make the first command in the boot file QUIT (this gets you out of Basic and into Arthur), followed by commands to load the modules, and then 'BASIC before chaining the relevant Basic program. The modules will always load regardless of the RMAsize setting
Manipulating variables
A group of star commands provides for values to be assigned to special operating system variables quite separate from any Basic variables, and for the contents of those OS variables to be displayed. The commands involved (all star commands) are ECHO, SET, SHOW and UNSET. In general, these commands can be entered with user-defined OS variables, or more often, with certain system variables.
First of all, let us see how these commands might be used with simple OS variables. For example:
*SET WELCOME "Hello World
*ECHO <WELCOME>
would assign the text given to the OS variable WELCOME, while the ECHO command would cause that message to be displayed on the screen (note the angle brackets). If we were to write:
*ECHO WELCOME
then the string "WELCOME" would be displayed, not the string assigned to the OS variable WELCOME. The command *SHOW will not only show the value currently assigned to an OS variable with *SET, but also show the type, here string. Thus:
*SHOW WELCOME
gives the response:
WELCOME ; type String, value : Hello World
Arthur also provides for the use of system variables. Some of these are recognised by Arthur, while others may be known to other modules. For example, Sys$Time, Sys$Date and Sys$Year are always active and have the obvious meanings. You could use *SET to change any of these if you so wished, for example:
*SET Sys$Year 1989
to change the year to 1989 (quotes are unnecessary unless spaces are included in a string).
Another system variable is Cli$Prompt, which determines the prompt used by Arthur (normally '*'). If you want to change it to '=>' for example, then type:
*SET Cli$Prompt =>
QUIT Basic and you will see the new prompt in action. Incidentally, when you are communicating directly with Arthur, you don't need to include the '*' with any star commands, though no error arises if you do.
One useful application of system variables is with long pathnames when accessing files. Suppose you had set up a disc with a directory called PD containing a directory called Text containing a directory called Letter. Then:
*SET Letters $.PD.Text.Letter
would enable any document in the directory Letter (say Bank) to be referenced as:
<Letters>.Bank
Regardless of the current directory, a correct reference would always be made. Another very useful variable is used for setting up aliases. An alias is just an alternative name for something. For example, entering:
*SET Alias$AID HELP
would establish AID as a valid alternative to the operating system command HELP. Then writing *AID would have the same effect as writing 'HELP. In fact, Arthur uses this facility to set'.' as an alias for the *CAT command used with the ADFS. Thus *. has the same meaning as *CAT.
Aliases can also be set up to use parameters, and some examples exist by default. For example, this feature is used by Arthur when you attempt to access any file by prefixing the file name with a '*'. Arthur uses predefined aliases to match up the file type and substitute the correct command. Thus if you attempted to access a screen display saved as Screen01 by typing simply 'Screen01, Arthur would use a pre-defined alias to match the file type and turn the command into 'SCREENLOAD Screen01 before passing this to the Command Line Interpreter (the code which first interprets all star commands).
The command *SHOW can be used to show the current setting for any alias, e.g.:
*SHOW Alias$AID
This command can also use wild card characters. Thus:
*SHOW Alias$*
will list out all current aliases, while:
*SHOW
will list all current settings.
I have described how the *SET command could be used to set up so-called aliases. An alias is a user-selected name that once initialised will be recognised by the operating system (OS) as equivalent to some predefined string. For example:
*SET Alias$SCREEN CONFIGURE Screensize 20
would make the command:
*SCREEN
exactly the same as:
*CONFIGURE Screensize 20
You could establish a number of aliases with names such as SCREEN20, SCREEN40 etc to provide short star commands for selecting various memory allocations for screen displays. However, we can still use a single alias command to set more than one screensize by using a parameter. Such an alias command could be set up using:
*SET Alias$SCREEN CONFIGURE Screensize %0
The %0 indicates a parameter whose value will be supplied when the alias is called.
*SCREEN 20
would set a screen memory size of 20 pages, while:
*SCREEN 40
would reserve 40 pages for this purpose. The obvious disadvantage of all this is that the Ctrl- Break needed to enable the new configuration will also destroy your current aliases!
Simple aliases like this can be quite useful, is they are quicker and easier to type in than the original command, and maybe easier to remember. Indeed, we can take the use of parameters and aliases much further, but one more example will suffice here. Up to 10 separate parameters may be defined, and these are represented as %0 to %9. Each parameter can appear more than once if necessary. In addition, a single alias may be used as a substitute for more than one command.
Suppose we want to create an alias called INIT which will allow us to set both screensize and spritesize. This is simply achieved by writing:
this would configure screensize to 20 and spritesize to 10, equivalent to entering the two separate commands:
*CONFIGURE Screensize 2
*CONFIGURE Spritesize 10
When an alias, as INIT in this example, is called, the first parameter is assigned to %0, the second (separated by a space) to %1 and so on. Notice also the '|M' which represents Ctrl-M or Return in the alias definition, just as it does in function key definitions.
One final point on alias parameters is worth mentioning. If a command is to take several parameters, then rather than specifying them all individually with %0, %1 etc., the notation %*0 will grab all the parameters supplied.
Any suitable string assigned to an alias may include further commands. Thus:
*SET AliasSPAGE ECHO i<14>
*SET Alias$SCROLL ECHO |<15>
would allow *PAGE to set paged mode (Ctrl-N or ASCII 14) and 'SCROLL to set scroll mode (Ctrl-0 or ASCII 15). ECHO used in an alias definition can be very powerful.
One further command to note here is *UNSET. This may be used to delete any operating system variable (except any permanent system variables), set up with the *SET command. It also accepts wildcard characters, so:
*UNSET Alias$*
will delete all current aliases.
Other *SET commands
There are two further star commands similar to the basic *SET. The command *SETMACRO can be used to assign an expression to an OS variable which is evaluated each time the variable is referenced. One example might be:
*SETMACRO CLI$PROMPT <SYS$TIME>
which sets the OS prompt to be the current time (the time when the prompt occurs). The command:
*SET CLI$PROMPT <SYS$TIME>
on the other hand, would set the prompt to be the time when the *SET command was executed (i.e. fixed).
The other command, *SETEVAL is used to assign a value to an OS variable, by evaluating an expression, instead of a string as with *SET. The use of SETEVAL in this way is similar to the use of the EVAL function in Basic. Thus:
*SETEVAL fred 0
would initialise the OS variable fred to 0, and subsequently:
*SETEVAL fred fred+1
would increment the value of fred. Typing or executing:
*SHOW fred
would display the current value of fred. Do remember that the OS variables we are talking about are quite separate from those used in Basic, even though they may appear very similar. These variables are used when communicating directly with Arthur (which gives the "*" prompt).
Basic equivalent commands
A number of operating system commands have equivalents in Basic. Whichever form is used, it is the same in-built routine in the operating system which is being accessed, but it does mean that these functions are accessible whether we are in Basic or Arthur. Thus *EVAL used with OS variables performs a similar task to that which the EVAL function does with Basic variables; it evaluates a given expression.
Then there is *ERROR. This command can be used to create error numbers and corresponding messages of your own choosing (just like ERROR in Basic). These can be used in your Basic programs, and will be dealt with by any normal error-handling routine just as with other errors.
For example, suppose you were to write, in a Basic program:
IF x<0 and x>100 THEN *ERROR 101 Value out of range
If this was executed with the value of x either less than zero or greater than 100, then an error would be generated as defined by *ERROR. In an error-handling routine, the variable ERR would give the value 101, and REPORT (or REPORT$) would give the text message "Value out of range".
The *IF command provides an IF-THEN or IF-THEN-ELSE syntax, again with the same implications as in Basic. For example:
*IF Sys$Time<"12" THEM ECHO Good Morning ELSE ECHO Good Afternoon
will display an appropriate message depending on the time of day (note the quotes round the '12' because Sys$Time is a string variable (see earlier).
Using commands like this enables complete programs to be written which will be directly executed by Arthur, not by Basic. Again this is all good material for an EXEC file.
Finally, in this section, *TIME may seem as though it will be the same as Basic's TIME, but is in fact more like the Basic pseudo-variable TIME$. It reproduces the current date and time in a standard format. In Basic, TIMES is a string which can be printed or otherwise manipulated, while *TIME displays the complete date and time on the screen.
BBC micro commands
Some of the commands recognised by Arthur are simply there to provide compatibility with earlier BBC micros, though that is not to say that they do not provide a useful function on the Archimedes. *KEY can be used to program the function keys, and also the Print, Copy and the four cursor keys. The use of *KEY is covered adequately in the User Guide but remember the use of codes like |M or |N represent control codes like Return or Ctrl-N.
The 'SHADOW command is mainly for= compatibility with the Master 128 and Compact. If no parameter (or a value of 2) is provided bank 2 of screen memory will be used. If the command is followed by a '1' then memory bank 1 will be used (see our recent series on Animating Archie for more information bank switching).
Lastly, *TV can be used to adjust the vertical position of the display on your monitor, and to control the selection of interlace, as described in the User Guide.
Miscellaneous commands
There are four commands which I want to deal with here. The *IGNORE command can be used to set the 'printer ignore' character. For most printers this is set to zero (the null character). If your printer executes a double line feed at the end of each line, try setting the printer ignore character to 10 (*IGNORE 10).
The next two commands are very similar and best treated together, though quite different in application. They are *GO and *GOS. The former may be used to call any machine code routine by specifying its start address. It is Arthur's equivalent to Basic's CALL, except that after *GO a return is not usually made back to Arthur. Unless you are into machine code programming this call will have little value for you (machine-code programmers should refer to the Programmer's Reference Manual). The other command, *GOS (short for *GO Supervisor), simply invokes Arthur, and in that respect is very similar to QUIT in Basic.
The last command in this group is *HELP which can be used to display information on other star commands, including those supported by filing systems and other modules. Simply type:
*HELP
for more information on this command.
FX calls
The last OS command to mention gives access to many different functions. *FX is already well known to previous owners of BBC micros of all kinds, but performs fewer functions in its Archimedian form. In essence, *FX provides a convenient way for all users to access a range of operating system routines (known as Os-Byte calls). In each case *FX is followed by a number which specifies the particular function to be carried out, and depending upon the call used, by one or two parameters. The FX calls are listed in the User Guide, so I do not propose to cover them here.
I hope this discussion will have proved useful to many readers, and given some insight into the Archimedes operating system, Arthur, and the commands which it recognises. More information is contained in the Programmer's Reference Manual. Of course, the Archimedes responds to many more star commands than those that I have described. These are the ones used by tiling systems and any modules in your system. But that is another story.
Foundation RISCWorld
ÿÿÿÿISSUE3/BOBW/INDEX.HTM Issue 3, Best of Both Worlds
Best of Both Worlds Part 3
T.O.M.S. deal with feedback rom the previous articles.
We've had a deal of useful and interesting feedback from you in recent weeks, not only from the two 'Best of Both Worlds?' articles, but also the five preceding 'PC Survival & Maintenance' offerings which go back a year or more. The topics do interleave to some extent however, so perhaps we can pick up all your points in this review (and with many thanks for your inputs).
Viruses and other nasties
No, this perennial won't go away, nor can we realistically expect it to. Maybe it's inevitable that ARM-powered users will continue to view any prospect of running RISC OS under Windows and VirtualRPC - and the perceived "problems" that might bring - with trepidation.
We won't labour this topic except to make the very happy point that, at the time of writing, VirtualRPC is coming up to its fifth birthday! The total number of users now comes to many thousands and, save for those with the Mac version, the bulk will be running under Windows. And yet, as far as we know, there have been ZERO reports of anyone suffering from the effects of any Windows malware.
This must be telling us something, so please don't entertain paranoia over a problem which in practice simply doesn't exist to anything like the extent put about by the doom-and-gloom mongers.
Choice of anti-malware programmes
In the earlier articles, we discussed the suggested choice, installation and working configuration for a small range of anti-malware programmes; namely AVG Free for virus protection, Microsoft Defender plus maybe one other title to protect against spyware, plus CCleaner to keep your browsing history and footprints nice and clean. All of these area available for free folks.
A recent and valuable bonus is that, with AVG Free (currently at v8.0), the authors Grisoft have combined both their anti-virus and anti-spyware programmes into the one package. So download, installation, configuring and usage is now much-simplified.
Unfortunately, we've had two identical reports of users hitting problems with AVG Free programme upgrades (not to be confused with the near-daily virus 'signature' updates). As we understand it, the upgrade installation fails with a report of a 'bin[ary] file not found' and, as the freebie version comes without technical support, this is a stopper.
However, apparently the problem can be cleared by uninstalling AVG Free and then installing a fresh download, bringing the signatures up to date and configuring the programme, but a correspondent felt this wasn't on and asked whether there was an alternative title we could recommend.
In that case, we suggest Avast! (currently v4.8 Home Edition) which reportedly is very effective and friendly, although we find it a tad easier to use if you disable the fancy skins. To do that, select Program Settings and UNtick the 'Enable skins for Simple User Interface' box. Virus signature file updates come in typically at least once a day, so they do seem to be well on top of the perceived problem. As with AVG Free, running a full virus scan, say on a monthly basis or longer, routinely returns 'Nothing found', and the all-important peace of mind is retained.
So Avast! looks like a suitable alternative if AVG Free doesn't do it for you, but note that it protects only from viruses, so you're recommended to install an anti-spyware programme (or two) as well. There's quite a choice, all of which are reportedly adequate in tests. As always, these programmes are free and conveniently available for download from, for example,
Windows programme updates
On the same topic of updates to Windows programmes occasionally causing problems, we had a couple of reports of an upgrade to the PhraseExpress utility we suggested way back actually having the gall to interfere with VirtualRPC... Apparently v4 works OK but the v5.x upgrade somehow conflicts with the two Enter keys on the main and numeric keyboards so that the action takes up to 3 secs to occur, with repeats slowed to every 2 secs or so. Not surprisingly, the authors know nothing of VirtualRPC and have not offered a cause or a solution to this stopper.
Not to worry, there are similar programmes available, and we've been assessing Comfort Keys which does a very similar job; indeed we've come to prefer it over Phrase Express as it has far more features, some of which are extremely handy. (In very general terms, think of it as similar to Keystroke; a bit tricky to get used to but, with a modicum of application, an invaluable productivity tool.) Comfort Keys Lite is available for $ 19.95 from the authors on
PDF readers
We pushed the value of using the portable document format (PDF) for getting your documents out of RISC OS, either for export in 'industry-standard' format or for the convenience of ultra-fast printing under Windows, and suggested Adobe's Acrobat as a readily-available PDF reader.
However, a number of grumblers convinced us that Acrobat is simply huge (33.5MB!), rather unwieldy and probably OTT for your purposes. So we've been looking at a 'lite' alternative (2.56MB) - Foxit PDF Reader (v2.3) - which is available for free from
Using the 'Exchange' directory
The use of the common 'Exchange' directory for ease of moving objects between RISC OS and Windows and back, which we discussed in 'Best of Both Worlds?' parts 1 and 2, continues to trigger interesting discussion.
A point we hadn't mentioned is that, contrary to what some doubters think, Windows does generally support drag-and-drop as we know it, sometimes in ways which are even an improvement on the standard RISC OS feature.
So for example, very often you might finish up with a file which has been, say, scanned or downloaded from the net under Windows and which, for convenience, has initially been saved onto the Windows desktop. Moving it to RISC OS is then simply a matter of drag-and-dropping its icon over the 'Exchange' icon and the object will be moved (note: not copied) from the Windows desktop into the Exchange directory. Nip across to VirtualRPC, double-click on the related Exchange directory in RISC OS - and there's the transported file. Magic!
Going in the opposite direction hasn't been quite so convenient as, under RISC OS, you can't simply drag-and-drop the object over the Exchange directory icon (however you mechanise it) as the object won't then be copied; it's necessary first to double-click on the Exchange directory to open its viewer and then drag the object into it.
However, Paul Vigay has recently released an extension to his already-excellent NeXTBar which allows us to drop the Exchange directory into an empty pigeon hole, and which now becomes what Paul logically calls a 'button directory'. When the Button Options window opens, tick the 'Auto-save in directory' box (and 'then open' if desired) and click on Update to store the configuration.
Now we can drag-and-drop any file or directory etc over the RISC OS 'Exchange' directory icon and it will be copied into it, without first having to open the directory viewer (an overwrite warning is displayed where applicable). Similarly, a Save box dragged-and-dropped over the Exchange directory from an open application will save the application file into it (but note the 'Known Bug' warning in the Basic Usage->Saving Application Data page of the Help file).
So in effect, the handling method using NeXTBar is now identical, whether you're moving something from Windows to RISC OS, or vice versa, both in a very simple and extremely user-friendly manner. NeXTBar is shareware (£12.00 to register) and the feature is contained within v1.22, available for download from
Stop press: NeXTBar v1.23 has just been released which adds a further Edit option, called 'Create dated sub-dir'. If this box is ticked, when you drag-and-drop an object over the button directory, it automatically generates a daily-date sub-directory (if not already created) and saves the object into it. The date format can be set to suit your preference. At the Windows end, the sub-directory/ies appear as normal Windows sub-folders within the 'Exchange' directory. So in this respect, the new feature is very similar to TempDir except that (we think) there is no auto-delete option. Some will prefer this sub-directory feature; some prefer a simple, single, catch-all directory. The value of NeXTBar is that it gives you the user a convenient choice.
Bigger and better thumbnails
The discussion about providing a very much-improved 'thumbnails' display on the Windows desktop for, say, digital camera images (saved as JPEGs), which might be buried deep within the bowels of the RISC OS 'HardDisc4', went down very well with some - while others simply said "Why not store them under Windows?"
The last point is of course perfectly valid, but it's maybe for other graphics filetypes which you might wish to store on the RISC OS HardDisc4 where the same routine, using Google's Picasa, comes into its own. For example, we use Studio 24 Pro under RISC OS whose native filetype is TIFF but - not being compressed - can lead to huge files (30MB or more is not unusual) and which take forever to be thumbnailed on the fly under RISC OS using, say, PhotoFiler or Select's built-in feature.
However, these files, stored on HardDisc4 for preference, can very readily be located by Picasa running under Windows and, with TIFF being a standard Windows filetype, excellent thumbnails are quickly generated and, subsequently, are immediately available for viewing.
As we mentioned in Part 2, providing high-quality thumbnails for RISC OS-specific filetypes such as sprites, drawfiles and Artworks graphics can also be mechanised using Picasa under Windows, but this is slightly more involved. If you're interested, please provide an email address and we'll send a copy of the necessary procedures.
Using ye olde software
For us, a very important advantage of VirtualRPC is the ability to be able to use seriously-dated and unsupported RISC OS software which cannot be run by Iyonix, even with the help of Aemulor. Indeed, the residual list of titles which we've been unable to run under VirtualRPC is remarkably short, although it has nevertheless included one or two which we'd dearly like to use.
However, the situation recently improved still further by the employment of an extremely simple workaround which now allows us to use virtually all our software catalogue; indeed, everything works under VirtualRPC variants using RISC OS v4.02, but a very few titles won't run under RISC OS v4.39.
The underlying hiccup with some geriatric titles (and we're talking 15-20 years old here!) is that they were released before 32K and 16M colour displays became available to RISC OS, and of course before 'deep sprites' were thought of. So not surprisingly, any attempt to run them causes a big sulk.
The workaround is trivial; simply select a 256-colour screen mode before running the olde software you wish to use, and in our experience there's then a good chance it will run OK. Display resolution doesn't matter; everything still works fine up to 2048×1536 pixels. But try to avoid deep sprites; they probably won't display correctly, if at all.
However, for example, we find that drawfiles containing deep sprites can still be loaded, and the draw elements can still be manipulated. All that happens is that a deep sprite is not displayed (apart from its bounding box) but, on grouping draw elements and the sprite, or saving the modified drawfile, the sprite is correctly grouped and saved, without complaint or corruption. Nice one.
Happy birthday VirtualRPC
In other words, for us, using VirtualRPC just gets better. And better. To think that, 5 and a quarter years ago, we were on the verge of making a decision to dump RISC OS altogether, and it was only a happy hint from David Holden that "something of interest was about to be released" which prompted us to hang on for a month or so.
VirtualRPC duly arrived, within the month or so, all thoughts of dumping RISC OS were immediately dropped and, since then, our overall productivity through the ability to use RISC OS, or Windows - or more likely a combination of the two - has hugely improved, as has our daily pleasure in using this 'best of both worlds' combination.
So sincere thanks to David Holden for the initial hint - and especially to Virtual Acorn for a truly splendid piece of kit - and finally Happy Birthday to VirtualRPC! Many of 'em.
Ray Favre introduces Calibre, the RISC OS calendar generator.
It's that time of year again when thoughts turn to getting calendars. So why not try !Calibre this time (and next time, and next time....!).
!Calibre is an ideal application for customised calendars for the home or office and particularly for your local Society/Club calendars.
The quality of the end result is solely dictated by the printer/paper combination used and I’ve been sent some really stunning finished products by users.
!Calibre is freeware and is now up to Version 3.01 (24th August 2008). In the year since its launch it has gained many improvements, mainly suggested by users.
How does !Calibre work?
!Calibre has 10 basic calendar formats, six of which are 1-month-per-page; one is 1-week-per-page and three are 1-year-per-page. Among them are two 'family calendar' formats which allow you to label a blank column for each family member - with a choice of up to 6 columns.
Here are reduced screen-shots of some popular formats.
Format 9: 1-month-per-page 'family' calendar
Format 5: 1-month-per-page appointments calendar
Format 1: 1-month-per-page office/promotional calendar (designed as CD case insert)
Format 7: part of a 1-year-per-page 'year planner'
Format 6: 1-week-per-page 'family' calendar
Designing your own calendar
When you run !Calibre you are first presented with the main display with its attached toolpane.
The Main !Calibre window and attached toolpane
As supplied, and as shown above, the initial calendar shown will be a default design in Format 1 and the year/month/day/week first displayed will be for today’s date
A click on any of the radio icons near the centre of the toolpane will change this to the default design of any of the other formats. You can change the default designs, if you wish - and you can also change which format is used at start-up.
The displayed year/month/week (as appropriate to the particular format) can be changed with the nudger icons near the top of the toolpane.
This main display window/toolpane pair is the place where you design your own calendar. You start with the default design in the format of your choice and you then edit it to get a new design.
You can edit (with some differences between formats):
the calendar size and position on the paper
the size/position/colour of the main date grid on the calendar
the size/position/font/colour of the year text and its background (if you want the year shown)
the size/position/font/colour of the month text and its background (if you want the month shown)
the size/position/font/colour of the date text and its background
the size/position/font/colour of the days text and its background
the size/position/font/colour of week numbers (not in all formats)
the size/position/font/colour of ordinal dates (if you want them)
the size/position/colour of moon phase quarters (if you want them)
the language used for monthand day text
the size/position of up to three picture areas (for drawfiles or JPEGs)
On top of this you can specify Red Letter Days (with associated added text) and choose how these will appear.
In addition, in some formats, you can choose to start the week on a Sunday or Monday.
All the editing facilities are accessible via the toolpane shown above - except for most of the colours, which are available via menus brought up by clicking (any button) directly over the calendar display.
All the changes you make will be fully visible on this main display, and when you are happy with your masterpiece you can save the new design with a name of your choice - and then consider the printing options.
In the printing set-up window you can decide the range of the print run. For example, for a month-per-page calendar format you might want to print from January to December for one whole year, but the choice is yours - as well as how many copies. There are also several other options here - including a printing preview, see next. An important point to remember is that most of the printing choices are independent of what you are currently showing on the main display - other than the specific calendar design, of course.
Printing preview
As the main display shows the full detail of one calendar page, the printing preview doesn’t need to duplicate this. Rather, the most important purposes of the print preview facility are to be able to step through a chosen print run to see if the pictures are going to be in the sequence expected - and, when 2 or 4-pages-per-sheet is chosen, to ensure that the position of the calendar 'pages' on the sheet is not overlapping the printing margins.
Language
Thanks to the help of users, !Calibre comes with Dutch, French, German and Spanish alternatives to English, for the month and day names. You can edit the files holding these languages and you can add other languages if you wish.
Customised Red Letter Days (RLDs)
The user can specify up to 150 RLDs in any one calendar year. These days can be shown in their own user-specified colours and associated special text can be added also.
RLDs can be defined in a mixture of ways: those which are only relevant to one calendar year (e.g. someone’s retirement day); those which occur on the same date each year (e.g. a birthdays); and 'auto' RLDs (e.g. common events such as New Year's Day and Christmas Day and other common events with varying dates, such as Easter Sunday, British Summer Time start and end, plus English Public Holidays).
Whatever your choices, the effect is a basket of RLDs which will duly appear automatically if you choose to show them.
Automatic font detection
!Calibre uses up to eight fonts in a single calendar design. This is not a problem in itself but special precautions are needed to cope with the case where the user tries to load a calendar design which calls for a font which is not available on the current font menu of the user’s computer. (e.g. a calendar design file sent to you by someone else.
With calendar design files saved from Version 3.00 onwards all the fonts called for in a design file are checked before loading continues. If any of them are not in your current font menu a window will open telling you the errant font(s) and giving you options to do something about it there and then - by changing the fonts to something that you do have, or 'do nothing' and reverting to the previous calendar.
Moon phases
The moon quarters (for GMT/UTC) can be displayed/printed via a single option choice, and you have the standard !Calibre facilities for setting the colour/size/position of the moon symbols. Additionally the choice can be made between 'Thin/Medium/Thick' for the symbol outline thickness, which sometimes helps with the contrast in some colour combinations.
It is worth mentioning that the moon quarter dates used are believed to be accurate: they are not derived from an 'average' formula.
Ordinal dates
For those not familiar with the term, 'ordinal dates' simply means the number of days from the beginning of the year i.e. a number between 1 and 365 (or 366 in leap years).
Once again, the user can choose the font/size/colour/position of ordinal dates and, of course, whether or not to use them.
The Manuals and interactive help
I am a strong believer in not releasing software (nor its subsequent upgrades) without a good Manual. In !Calibre's case the Manual is available in five formats: Impression Publisher, OvationPro, HTML, PDF and plain text - so there really is little excuse for not reading it. To make it even easier
Additionally, from Version 3.00 onwards, !Calibre has had comprehensive interactive help.
Final words
In the year or so since it was first released !Calibre has attracted a sizeable and enthusiastic user base.So Why not join them? The price is right
How to get it
You can download !Calibre from my web-site at http://www.rayfavre.me.uk/dwapps.html. The latest version (3.01 24th August 2008) is also included in the Software directory on this issue of Foundation RISCWorld.
ÿÿÿÿISSUE3/CEDGE/INDEX.HTM Issue 3, From The Cutting Edge
From The Cutting Edge
Paul Middleton decides that September is a memorable month.
Google was set up on September 7th 1998. On Black Thursday 17th September 1998 Acorn announced that they were effectively leaving the Home Computer market and now in 2008 on 30th September Iyonix Ltd (who took over Iyonix sales from Castle Technology Ltd) have announced that they are no longer producing the Iyonix computer and will only continue to trade for as long as existing stocks of Iyonix and other Acorn parts are available.
Google was set up by two students from Stanford University, Sergey Brin and Larry Page. Brin was the son of a Maryland mathematics professor and a NASA scientist and was a recognized math prodigy by his teens. Larry was the son of a Computer Science Professor. Together they set out to produce a system which used the academic principle of citation, whereby published academic papers cite previous works, and are in themselves then quoted by future works. The number of times specific works are cited increases the kudos of the author. Parks' dissertation was to take the principle of citation and apply it to world wide web - which at that time consisted of only around 10 million pages. Each web page was to be searched to see how many links it contained to other sites and in turn how many of those sites contained reverse links to the original site and forward links onto new sites. The importance and hence the "ranking" of a site was thus determined. It was only once the crawler software had been let loose on the internet in 1996 that the pair realised that the software could also create a searchable index of the internet by treating the whole web as an enormous graph.
The computing demands of the BackRub crawler software at first consumed nearly half of the network bandwidth at Stanford and by 1998 the newly named Google software (after the Googol which equals 1 followed by 100 zeroes) had outgrown the pair's two dormitory rooms and, with the advice of Professor Jon Kleinberg, "Google" the company was launched.
Meanwhile over in the UK the idea for setting up RISCOS Ltd came two months later on 24th November 1998.
The future for Acorn Computers running RISC OS at that time was uncertain. The new Labour Government - which had come to power in May 1997 had been immediately courted by Bill Gates who addressed a conference in Cambridge in October 1997 to share Microsoft's vision for the future. It was soon announced that Microsoft, RM and BT were to be the key partners in the National Grid for Learning initiative. Acorn were not part of the initiative and so whilst Acorn continued in its partnership with Apple via the Xemplar Educational Supplier it was not long before in January 1999 that Acorn announced that it was to sell its share in Xemplar to Apple. The writing was clearly on the wall for Acorn in the Education market, as despite the love by teachers of Acorn computers for their ease of programming and reliability, the lack of support from the new Government meant that the days of near total PC dominance were not far off. Acorn themselves admitted that the Risc PC 2, or Phoebe, was not aimed at the Education market as it was to have retailed at a price of around £1,500 at a time when PCs were falling well below the £1,000 mark. Admittedly Apple have since built a huge market for selling expensive but well engineered computers, but Acorn regrettably didn't have the finance to try to emulate Apple.
Publicly Acorn were pushing the concept of Thin clients or Network Computers where a low powered client computer used resources on a much more powerful computer or server. The ARM processor was ideally suited to this role, but the need for computer administrators and the rapidly falling costs of a basic PC meant that most schools simply dumped their Acorn computers and put standalone PCs in their places. Many schools still don't have a Network and some don't even have internet access because of the cost imposed by local authorities to have schools connected to their "walled garden" local network at a cost of over £600 per PC per year, rather than allowing them to have a local BT or Virgin Internet connection at a cost of £120 per year, with a free Wireless Router thrown in. All it needs is for the school to get one teacher a mobile phone contract with Talk Talk and the rest comes with it, but the local authority insists on trying to recoup the cost of their own network at a ridiculously expensive price.
So were Acorn too far ahead of their time? As always the answer was Yes. In the mid-90's Acorn were testing IPTV in Cambridge delivered via a fibre optic network, with TV programmes on demand. At this years IBC broadcast conference in Amsterdam the talk is all about IP delivered Television. IP stands for Internet Protocol and means that video is digitised and sent in packets around the Internet rather than being transmitted as a continuous stream from a huge power consuming TV transmitter. IPTV means that you can watch TV programmes on your PC or via a set top box. The BBC i-Player is based on IPTV technology in the same way as You Tube or Google Video. The Internet is designed so that all computers connected to it have a unique worldwide address, with addresses currently being of the form XXX.XXX.XXX.XXX or IPv4 where XXX is a value 0-255. To cope with the growing demand for numbers there is a new protocol called IPv6 which will give every computer an address of the form XXX.XXX.XXX.XXX.XXX.XXX this allows for a maximum number of 2^128 addresses which is the equivalent of 3.4 x 10^38 individual addresses. This may not seem a lot, but as the current world population is only about 6.5 billion people = 6.5 x 10^9 then each person could have 50 billion billion billion addresses of their own before the numbers ran out! Out of those numbers certain blocks are allocated to sending "multicast packets" which means that video services for example can be broadcast within that range and received by anyone in the world set to receive those packets. The current addresses cover the range 224.0.0.0 through to 239.255.255.255 which is quite a range of addresses!
The point is that the traditional means of delivering TV programmes is likely to be replaced as the bandwidth of the internet increases. The capabilities of the average desktop PC now far exceeds what is actually needed to run most applications. Watching TV on one screen on your PC, whilst carrying on normal work on another screen is a perfectly viable choice. In fact the power of most computers is such that apart from peak loads, most will run at less than 10% processor capacity. Virtual Computers are now the buzz word on PCs with many organisations looking to replace 10 or more old servers, with 1 new Virtual Server hosting multiple Virtual PCs. The power consumption is reduced proportionally and different operating systems can be run simultaneously, as long as sufficient memory is fitted to the PC to support the multiple virtual computers.
The demise of the Iyonix computer and ultimately the closure of Iyonix Ltd is sad for the RISC OS market. Castle Technology took over distribution and then manufacture of the Risc PC and A7000 in 1998 shortly after Acorn made their Black Thursday announcement. Jack Lillingston and John Ballance fought hard to continue the battle to keep RISC OS Computers in homes and schools as well as the Broadcast Industry - which had been a large purchaser of Risc PCs and A7000s which were then badged up as products from Omnibus Systems. Millipede Electronics also sold considerable number of Risc PCs as the driving force behind the worldwide success of "Who Wants to be a Millionaire". Each TV station had to buy a number of Risc PCs and associated TV graphics cards to produce the famous question board and the voting system for fastest finger first. Unfortunately political pressures and the increasing sophistication of PC software, slowly eroded the advantages of RISC OS computers, and in an increasingly global market, systems that were not PC or Mac hardware based have become increasingly difficult to sell, outside of the mobile phone and other similar markets. Acorn has thankfully produced one lasting legacy in the ARM have just announced that their licensees have just shipped the 10 billionth ARM chip. Meaning there is nearly 1.5 ARM processors for every single person in the world.
This brings me to the conclusion of this "From the Cutting Edge" because the future for RISC OS is certainly very much based around the capabilities of the Virtual Acorn products. Love it or hate it, the fact is that the sheer volume of PC production means that a PC host is the future for RISC OS development
Running RISC OS 6 on a new Mac under Virtual Acorn software is fantastic. The Windows or Mac OS operating system is effectively acting as a hardware abstraction layer for RISC OS, and you gain all the hardware benefits of fast processors, fast networking and fantastically fast hard disc performance.
The copy of Desktop Hacker included with this issue of Foundation RISCWorld was the final release version and is fully StrongARM and RISC OS 4 compatible. It was originally published some time ago in RISC User magazine and since then has been difficult to get hold of, even CJE Micros don't seem to have any copies in stock. As such we are delighted to be including a full copy of Desktop Hacker for all our subscribers. We have taken the opportunity to improve the design and layout of the manual. If you are interested in gaming on RISC OS then you should start reading straight away...
Please note that Desktop Hacker is supplied as a single user version and is only for the use of Foundation RISCWorld subscriber.
Contents
1.1. Starting a gam
1.2. Interrupting with the hot-key
1.3. Forkin
1.4. Reserving memory and screen memor
1.5. The disassemble
1.6. Configuring the interfac
1.7. Breakpoint
2.1. Slowing down (and speeding up
2.2. Saving the game stat
2.3. Saving screenshot
2.4. Ripping graphic
2.5. Ripping musi
2.6. dHInf
3.1. Searching for value
3.2. Narrowing a searc
3.3. Searching for tex
3.4. Compares
3.5. List processing
3.6. Searching for reference
3.7. Advanced searchin
4.1. Altering word
4.2. Making a cheat modul
4.3. Using a cheat modul
4.4. Altering instructions
4.5. Altering register
5.1. Writing code for Desktop Hacke
5.2. Format of saved game file
5.3. Format of list file
5.4. Internationalisatio
5.5. History of Desktop Hacker.
Foundation RISCWorld
ÿÿÿÿISSUE3/DICT/INDEX.HTM Issue 3, The RISCWorld Technical Support Dictionary
The RISCWorld Technical Support Dictionary
A essential RISCWorld reference supplement
Have you ever wondered what those strange phrases used by technical support people actually mean? Are you new to technical support and need help translating between "customer" and English? Either way you have come to the right place as Foundation RISCWorld can exclusively reveal the true meanings of all those common phrases. Why don't you see how often these phrases turn up in real life? Once you understand their true meaning, using our handy reference, your life will become fuller and more satisfying as you will know what people really mean...
Translating Tech Support to English
In this section you will find a series of standard "Technical Support" phrases along with their English translations. So next time you need to call a company for technical support you will be able understand what the underpaid and under qualified "expert" at the end of the phone really means:
"Have you tried shutting down and re-starting it?"
I don't know what's wrong with it and I don't care, but since I know it will take 3 minutes for it to shut down and re-start I can put you on hold and forget to pick the phone up again. Plus there's a fair chance that when you have re-started it will work again long enough for me to be able to get rid of you.
"We will add that to the suggestions list."
I have thrown the post it note with your phone number on it in the bin.
"We haven't any reports of that before."
We have had a number of reports of exactly that only yesterday.
"We have thousands of users who have not had this problem."
We have thousands of users who have had a different problem.
"I can't find the details on the database."
I have been staring out of the window and haven't bothered looking at the database.
"We are investigating that problem at the moment."
No we're not.
"I am sorry I have another call coming through."
I'm 2 minutes late for my lunch break.
"I'll have to put you through to someone else."
I'll be disconnecting your call in 5 seconds time.
"Someone will call you back shortly."
No they won't.
Translating Customer to English
This section is intended for those offering technical support and provides a list of common customer phrases, along with their English translation and true meaning:
"Can you wait while I re-install it?"
It's 4:59 on Friday afternoon just before a bank holiday weekend. Although I won't be using it over the weekend I might as well ring you up now and sort it out in case I do want to use it when I come back from holiday in 2 weeks time.
"I've set it up how I like it."
I've copied stuff from another different machine over the top of everything and broken it all.
"It was fine yesterday."
I broke it three weeks ago.
"It's been wrong for ages."
It was fine yesterday.
"I haven't changed anything."
I've completely rebuilt my PC.
"I've upgraded my computer."
I've bought a new computer.
"I only bought it a few months ago."
I have the receipt here, it's for 3/6d.
"Can you repeat that."
Although I rung you for help I haven't been listening to a word you've said for the last 15 minutes.
"Oh, well it wasn't important..."
I've kept you on the phone for 45 minutes because I was bored and wanted someone to talk to.
"Did you want me to write that down?"
When you asked me to write it down earlier I forgot to get a pen, or paper.
Finally
If you have any further suggested entries for this guide then please do forward them to
RISCWorld
ÿÿÿÿISSUE3/DISC/INDEX.HTM Issue 3, DiscWorld
DiscWorld
Aaron Timbrell rounds up the software directory
This issue we are back with something else for RISC OS games players. We gave away a 'serious' piece of business software last issue, Chartwell, so now it's time to get cracking, or indeed get hacking...
Desktop Hacker rrp £10.00
Desktop hacker is a unique package for RISC OS computers. It allows you to modify pretty much all the the behaviour of nearly all RISC OS games. The version we are including is both StrongARM and RISC OS 4 compatible. We are also including an updated version of the manual in HTML format as well as hundred of cheat modules for lots of well known RISC OS games.
As well as being an invaluable tool for keen RISC OS gamers, Desktop Hacker can also be a godsend for developers who are working with third party applications with no source code. If you can hack a game, then you can hack an application.
This latest version of Desktop Hacker has the following improvements over the earlier versions:
Assembler - If you click Select on the left-hand side of the window, where the address, word and string values are, you'll get the same word-altering window as before. But if you click to the right, where the mnemonic is displayed, you'll get the new assembler window, in which the mnemonic can be edited directly. This assembler only supports ARM2 instructions, so not all instructions that Desktop Hacker can disassemble can be successfully re-assembled. The assembler is part of the GoodTimes module (not to be confused with the virus hoax of the same name), written by Laurence Tratt and Andrew Clover.
Speed up - The slow-down window (now known as'Game speed') has been extended to allow you to speed the game up as well as slow it down. This is much less likely to work than slow-down, unless you have a fast processor that can run the games faster, or the game is clever enough to adjust its speed automatically.
Don't keep screen display - This is useful for users of computers with little free memory, but it does disable the screenshot-saving feature, as well as corrupting the screen display of most games. The option, found on the Choices window, should be left off most of the time. Enable it only if you need to hack a game that normally needs almost all of your memory. Game position files saved out with this option enabled cannot be loaded into versions of Desktop Hacker earlier than 1.07.
Squashed game files - Squashed game files are now supported, so you will often be able to fit a saved game or two on a single floppy disc. Squashed games are only available on machines which have Squash loaded (ie. RISC OS 3.), and the squashed game files produced by default by Desktop Hacker 1.06 and later will not load into Desktop Hacker 1.05 and earlier.
Memory reserving - Memory reserving. Some games (eg. Dune 2, Wolf 3D) deliberately claim all the memory free in the computer. Then when Desktop Hacker tries to interrupt, there's no free memory. If you get the 'Not enough memory...' error even when you've left vast amounts of free memory, try going to the Choices window, selecting the 'Reserve' option, and entering how much memory you want to reserve. Increase this if you continue to get the error.
Task forking - Games with WIMP front-ends in particular may trigger this feature: when a task being hacked launches another task, a window will appear querying whether you wish to continue hacking the old task, or follow the new one started up by it. You should usually 'Follow' the new task, as that'll be the game itself (that you want to hack), whereas the old task will be the front-end. (Which you don't.)
HackPoints - A system of breakpoints has been introduced including SWI trapping (as in the original Hacker). HackPoints are only accessible from the command line - see the help for commands *SetHackPoint, *ClearHackPoint and *ListHackPoints
The complete DiscWorld line up
As per usual we have our collections of the latest RISC OS applications, as well as support files for this issues articles:
Arthur
Support materials for the article about Arthur (the precursor to RISC OS).
BASIC3D
Example files for our article on 3D programming in BASIC.
Calibre
The latest version of Calibre, the RISC OS calendar generator.
Desktop Hacker
A great package for RISC OS games players and developers alike.
Iyonix
Software featured in the Iyonix column.
Letters
Software covered in the letters column.
PD
All the latest PD, shareware and freeware releases from the PD column.
ToolBox
This contains two sets of Toolbox Modules. The Castle archive contains the latest 26/32 bit neutral system components, required if you want to run a lot of new software releases on 26bit machines. The RISCOS Ltd archive contains later and improved versions of a number of modules and is suitable for all versions of RISC OS from 3.1 onwards. We have also included copies of SharedUnixLib and UnixHome as these are needed by some programs.
This is my fourth attempt at writing an editorial for this issue. I've had to throw away the first three attempts as they were, not to put too fine a point on it, rubbish. The problem is that my enthusiasm for RISC OS has reached an all time low. Hopefully this situation won't last long, but at the moment it's coincided with the need to finish this issue of Foundation RISCWorld on time, which is unfortunate.
So why has my enthusiasm evaporated? Well, perhaps evaporated is the wrong word, perhaps dented beyond all belief would be a better description. So why had my enthusiasm been so dented?
There are a number of things that have caused the dents. Firstly there's still some bloody silly nonsense rumbling away in the background about the merger of Foundation RISC User and RISCWorld. I'm happy about the merger, APDL are happy, RISCOS Ltd are happy and, as far as I can tell from the feedback I've had so far, readers seem happy. In fact only one person isn't happy and is making a bloody nuisance of himself and has seriously got up my nose, and the nose of Dave Holden. This particular individual has no connection with what we are doing, but seems to feel that as he had some involvement with the Foundation in the past he's due 'something'. Well if he is due 'something', then that's fair enough. Unfortunately after months of being asked to produce some evidence that he's owed 'something', or indeed 'anything' we still haven't received anything. Well, that's not entirely true, there have been plenty of demands, but nothing that backs up his claims.
This alone probably wouldn't matter a great deal, but I've also been getting a shed load of unwarranted criticism about other things. For example, do you think it's a bad thing that I kick started the dormant RISCOS Ltd documentation project, which resulted in the free on-line release of the RISC OS Six Programmer's reference manuals and the release of the RISC OS Six user Guide? I don't think it's a 'bad thing' at all, but one very noisy individual thinks it was and was happy to say so. He also complained that we don't publicly announce the beta testing of code. Of course we don't you idiot, that's the whole point. We privately test code before it gets released to try to iron out any problems.
I've also had several people trying to tell me how to run my business. Advice is fair enough, but some chap I have never heard of popping up and telling me what I 'should' be doing isn't very encouraging. Especially when I write long replies explaining what we do and why, only to get ignored whilst the 'advice' continues.
Here's the problem. There seem to be a handful of very opinionated, late middle aged, over confident idiots about, and they've all been heading my way. However I have found a partial solution. As of a week ago I am no longer reading or posting to the RISC OS newsgroups. It's a shame, but there you go I don't feel I have much of a choice, it's either walk away from the newsgroups, or walk away from RISC OS. I have no intention of taking the second option and I don't like the first option, but I don't feel like I have a choice. I've worked bloody hard over the years and at the time of writing this I'm feeling sorry I ever bothered. So as a general piece of advice. If a small group of people continue to piss off those that actually do the real work, then there soon won't be a RISC OS around for them to moan about.
The following is about the vehicular faith, not specifically about computing.
As I said last issue I've decided to have an automotive clearout. The first car that needed to go was the Porsche. As the engine had been in bits for some time I decided to start re-assembling it. Refitting the cylinder head with a new gasket was a relative doddle, at least it was a doddle for me as all I had to do was drop the bolts in whilst Hayley held the head in position. Isn't having a knackered back wonderful? Having bolted the head back down it was then an easy job to refit the cambelt. This confirmed one of my original diagnosis, that the valve timing had been set wrongly. With this set correctly, using the original factory marks (since it's marked how can anyone get it wrong?) we checked that the engine turned over by hand correctly.
At this point we needed to start re-attaching various connections for the wiring loom. This is easily done provided you have three arms, all of which are five foot long and only two inches thick. Lacking this qualification I used the traditional struggling and swearing method. So far so good. Then a problem emerged. One of the cooling hoses was damaged. To cut a long story short (which is what had happened to the hose) I wasn't able to find a replacement anywhere. Ebay was a blank, as were all the car breakers. even a hunt of Porsche specialists failed to turn up the part. So I decided to give up and sell it as a non runner. I gave the car a wash to remove a years worth of grime and bird poo. Then discovered that the footwells were soaking wet. Remember the rust I had found from the last issue? Well there was a hole near the battery on the inner wing and this had allowed water to penetrate the entire structure of the passenger side.
Damn. I came up with a plan. I stuffed old towels in the footwells to soak up the water and pop riveted a plate over the hole. I then sealed round it with seam sealer. This did the trick, so at least I could let the car dry out before I sold it. I then gave the Porsche a quick polish to make it look half presentable, took some pictures and slapped it up on EBay with no reserve. Three days later it was disappearing up the road on a flatbed trailer and I was down just over £200 on what I had spent on the car, including purchasing it, which wasn't too bad and at least it was gone.
Now to the Monterey. I decided that I had a chance of selling it even with the gearbox leak if I put a fresh MOT on it. So an MOT test was duly arranged at a local garage. Much to my surprise it passed with only one bulb needing to be replaced. However much to the MOT testers surprise the gearbox decided to wait until he had his head under it before depositing half its oil down the back of his neck. He wasn't happy, but when I collected the car said he could fix the leak for around £ 300. I had a think for a few days then decided to take him up on his offer, so I duly delivered the truck to him a week later. Within a few days the mechanics had removed the box, replaced the main seal, refitted the box only to discover that it was still leaking.
As you can expect an argument ensued. I pointed out that they had said that they could fix the leak; they tried to say that this wasn't the case and that they had said they would replace the seal. This argument started on the phone, but concluded once I arrived in person. Yes they would take the gearbox back out again. It was three more weeks before I was able to pick the truck back up. In this time they had pressure tested the torque converter, which was fine, checked the gearbox pump, again fine, flushed the oil cooler, again fine and scratched their heads. In the end I sat down with the mechanic and we went through all the possibilities. We knew the leak was from the bellhousing, but how was the oil getting in there? The seal was fine, the torque converter was fine. There was only one other way the oil could be getting out; were the bellhousing bolts loose? Err....yes. With them duly tightened with blue Hylomar under the heads the gearbox was re-fitted and, wonder of wonders, didn't leak.
Despite the extra work involved the garage stuck to their quote for the work (probably because they knew damn well that if they tried to charge more I wouldn't have paid) and I drove the Monterey home, just in time for the Tax and Insurance to run out the next day. So after a full clean and Valet up it went on eBay and a week later was sold for just under £900, which isn't bad at all. I'm still waiting for it to be collected and then I will obviously be down to one vehicle, the Matiz. Only, errr, I won't, did I forget to mention that in the meantime I had been out and purchased something else?
Printing Foundation RISCWorld
The new look of Foundation RISCWorld means that you will no longer get the yellow background when printing articles. However you will still get the blue border on the left unless you turn off the printing of background images. The example below shows the print dialogue box from Fresco.
As you can see the option "No Background" is ticked. If you want to print out any of the RISCWorld pages and don't want to waste ink on a blue border then make sure you have clicked a similar option in your browser.
Aaron Timbrell
ÿÿÿÿISSUE3/FIRSTBASIC/INDEX.HTM Issue 3, First Steps in Programming RISC OS Computers
First Steps in Programming RISC OS Computers
A RISCWorld reprint of the updated second edition
Introduction to the RISCWorld edition
When we started planning RISCWorld back in the late 1990's we approached a number of authors to see if they would be interested in writing for this new magazine. We also approached a couple of authors who had written books about RISC OS that were now out of print. We wondered if we would be able to serialise these books in RISCWorld. One of those we approached was Martyn Fox. He had written a couple of books on BASIC programming that had been published by Sigma press in the early 1990's. Martyn had, or was in the process, of making sure that the rights to the books were his before he could confirm that we could re-print one or both of them. As an aside I had known Martyn for a number of years as he had been one of my early customers when I had set up ISV Products so I knew him quite well and was sure that he would get back to us when he had things tidied up.
In the meantime we had heard back from several other book authors and we had obtained the rights to serialise quite a number of titles in RISCWorld. Our quick calculations showed that we now had enough books to last us for nearly 10 years.
Shortly afterwards we heard back from Martyn who said that we could serialise his books in RISCWorld whenever we liked. We thanked Martyn and said that we would definitely want to include them in RISCWorld, but that we had made agreements with other authors for their books and that we needed to fulfil those agreements first. Martyn said that this wasn't a problem and that he was going to update this book and make it available on his website. This he subsequently did late in 2001, a copy was bundled with issue 6 of Foundation RISC User, two years before Martyn's tragic death in 2003.
Fast forward 5 years and we are finally going to serialise the first of Martyn's books as we agreed almost 8 years ago. The recent merger of Foundation RISC User and RISCWorld, to create Foundation RISCWorld means that we now have access to the improved HTML versions of the books produced by Richard Hallas. So here for everyone who has always wanted to learn to program under RISC OS we present part one of First Steps in Programming RISC OS Computers...
Please note that the Second Edition of this book was prepared before the launch of the IYONIX and RISC OS 5. As a consequence some of the information relating to graphics is already out of date. In particular, the graphics card supplied in the IYONIX pc does not support the use of 16-colour screen modes.
Several of the programs in this book make use of 16-colour screen modes: these programs will run on an IYONIX pc, but will switch to a 256-colour mode instead, with the result that the colours shown on the screen will not match those described in the book. Other graphical problems may also appear in individual programs. Readers who work their way through the book may like to try converting the programs to work well in 256 colours as an exercise to test their newly-acquired skills.
The worst-affected of the programs is Munchie, which is the subject of Chapter 11 and later chapters. A special 256-colour version of this program, Munchie_28, is therefore supplied for the benefit of IYONIX pc users.
Copyright Notice for First Steps in Programming RISC OS Computers
This DTP document and associated software files are copyright Martyn Fox 1993, 2001, but may be freely copied and distributed in digital form, including distribution via the Internet or by magazine discs, PD libraries,email, bulletin boards etc., provided the following conditions are adhered to:
No charge is made other than to cover the reasonable cost of duplication and distribution
No alteration is made to either the DTP document or the software files
The DTP document may be printed in either monochrome or colour. Limited distribution of individual printed copies is permitted provided that copies are accompanied by the software files on a suitable medium (e.g. a floppy disc) and that no alteration is made to either the DTP document (including its layout) or the software files.
Organised distribution of printed copies, other than of single copies, may only be carried out by prior agreement with the copyright holder. For further details, email to
RISCWorld
ÿÿÿÿISSUE3/HUGHJ/INDEX.HTM Issue 3, The Hugh Jampton Experience
The Hugh Jampton Experience
The special column for people that just don't care any more...
Yes, despite your best efforts (and mine - ED) I am still here with more merriment and japes a plenty to help pass the time. Plus of course my usual collection of urine extraction technology which will be aimed squarely at the RISC OS world. Well when I say world, perhaps country would be better? If not how about Town? Village? Hamlet? No, even that's too big. Perhaps outside privy might fit the bill.
There is actually a serious point in that previous paragraph. It's estimated that there are some 2 billion (2,000,000,000) PCs (personal computers) in the world. Of these 90%+ run RISC OS, sorry that was a typo, 90%+ run Windows, around 5% run Mac OS X, leaving another 5% (or a bit less) to cover everything else (Linux, AmigaOS, RISC OS etc). If we assume there are some 10,000 RISC OS users then that means that only one computer in 200,000 is a RISC OS machine. Or to put it in percentage terms it's 0.0005%.
That might not sound too bad, but what exactly are the odds of 200,000 to 1? Perhaps being hit and killed by lightning? No that's a mere 1 in 83,900. OK then, how about being killed in an earthquake? That's a mere 131,890 to 1. So what exactly does a figure of 200,000 to one come nearest to. Well according to a number of sources, including the US office of national statistics, 200,000 to 1 is exactly the chance of being struck and killed by a meteorite.
Of course if there are less that 10,0000 RISC OS Users then statistically you are more likely to get walloped on the head by a chunk of space rock than bump into one on the hightstreet. Makes you think doesn't it? Mind you, what's the chance of a RISC OS user being killed by a meteorite? And if one was would any of their relatives want their RiscPC?
The caption competition
Now it's time for our extremely (un - ED) popular caption competition. I'm quite sure you recall the following photo, but what did our dear readers think was the most appropriate caption?
Well where there should be a pile of captions, there is an empty space. So I've asked the Foundation RISCWorld staff writers to come up with some (sad isn't it).
"Next version of Windows enters testing"
Paul Brett
"Microsoft's help center in full swing"
Dave Holden
"And that's the world's most popular operating system??"
Aaron Timbrell
So we've decided to keep the prize for ourselves instead of rolling it over. I'm not sure what I'm going to use my £1.50 share of the £10 prize for yet, perhaps readers would like to offer some suggestions (I've got one... - ED).
Anyway, despite the complete apathy we are going to have one final try with the caption competition. So for a chance of a valuable £10 APDL voucher, what do you make of this?
Send me your entries by the 14th of November and don't forget to read the following naughty small print...
The Small Print: The Foundation RISCWorld caption competition is open to all Foundation RISCWorld subscribers. The prize for each issue is a £10 software voucher. This voucher be used to purchase any product, from the APDL, ProAction or iSV Products software ranges, up to a value of £10. or can be used as part payment towards an item of greater worth cost. Decisions are made at the discretion of the Foundation RISCWorld editorial staff and are final. If the voucher is not won then it can roll over to the next issue entirely at the discretion of APDL.
Hugh's Customer Service Award
There's been no suggestions for the Customer Service Award for this issue. Perhaps that's because there aren't any RISC OS companies with customers any more? Is anyone still buying anything? Anyway why not e-mail me at Hugh's Customer Service Award if you've had a particularly bad (or good) experience. I'm happy to name and shame bad practice, but just as happy to acknowledge companies that get things right!
So with that bit over with lets get to the closing bit, the silly photos...
Hugh's photo corner
Leopard swallows woman, police baffled...
Company launched new internet keyboard...
What can I say?...
An entry for "great error messages of all time"...
The latest extreme sport...hopscotch...
New keyboard for RISC OS users...
And finally Chris Newman supplied this great new light switch design...
All complaints about the Hugh Jampton column should be sent to Hugh Jampton's Complaint Service...
Here we are again with another Iyonix Issues column. Unfortunately, as with last issue, there really seems to be very little happening in the RISC OS world, so, apart from one new recently released update, there doesn't seem to be much to report. It all seems very quiet (unless I've missed it all) - the calm before the storm perhaps? On the subject of it being quiet...
Castle where are you?
I recently noticed on csa.acorn.hardware that someone had purchased a second hand Iyonix, but was unable to get any response from Castle when he contacted them about joining the support list. This doesn't sound like much of a story does it? Expect that it doesn't seem to be an isolated case. I've heard of another customer who has been trying to get a 2nd Iyonix graphics card (one of the old ones) from Castle and hasn't had any luck either. After A suggestion from Aaron I went and looked at the Companies House website and discovered that Castle Technology's accounts should have been sent in by the end of July, it's now mid September, which doesn't seem right (failing to file accounts on time at companies house is a criminal offence - ED).
However as you will have seen from looking at the lead story from this issue, the Iyonix is no more. This seems to explain why some people haven't had any luck contacting Castle. I'm not sure what's going to happen, but in the meantime my Iyonix continues to be used every day as I am sure will everyone else's. Just because you can't buy a new one doesn't mean the old ones will suddenly stop working!
So lets move on. This month as a 'guest feature' and in addition to the one new update, we take a look at something which IS happening and that something is Retro Software, a new software company who aim to publish quality new BBC Micro & Acorn Electron games.
Vice
Vice is the program to use if you want to emulate almost all of the Commodore systems on a RISC OS machine. Unfortunately there is no Amiga Vice which would be excellent to play some of those quality games that didn't quite make it to RISC OS when Krisalis were the conversion kings!
I think there was an Amiga emulator for RISC OS many years ago called !UAE but hasn't been updated in years and does not work on the Iyonix, (it's available for other operating systems as well - ED) which is a shame as it would be quite interesting to use.
The Commodore 64 desktop on a RISC OS desktop
Anyway, with Vice you can emulate the Commodore Pet, Vic20, C16, C64, C128 and Plus4 machines. This new release takes it up to V2.0 (dated 25th July) and there are a number of improvements included, however they are there to make the emulation better so unless you play games a lot on Vice, you probably won't notice that much difference. In fact I've never noticed any difference between versions when I've been playing games as they all seem to work pretty much first time.
There is always the odd game which is a bit difficult to get working, but the success rate is very good and is well worth a look if old 8 bit games are of interest as the C64 in particular was home to many quality games. .
Vice V2.0 is freeware and can be downloaded from
Retrosoft
Retrosoft
Retro Software was launched recently by a small group of enthusiasts whose aim is to publish brand new software for obsolete computer systems, with a particular emphasis on the BBC Micro and Acorn Electron. In the future they hope to be in a position to offer new releases for the Archimedes (and even the Atom) too!
There are a number of 8-bit games currently in development including:
Mountain Panic - a highly polished arcade adventure, based on a novella by H.P Lovecraft called "At the Mountains Of Madness"
Blurp - a side on platformer featuring multi-directional scrolling like you've never seen before
The Two Towers - another arcade adventure, in the mould of Citadel
For further information on these and other works in progress, check out
In addition to the above, there is one VERY interesting release in the pipeline, that involves finishing off a project that was actually started over twenty years ago!
Repton : The Lost Realms
Repton : The Lost Realms
Repton: The Lost Realms is a long-lost BBC Micro sequel to Repton 3 that got shelved after Repton Infinity was released. Now many years later this game will finally see the light of day, as the Retro Software team have received permission from Richard Hanson of Superior Interactive
It was written in 1988 by Paras Sidapara who was only 13 at the time, which is pretty impressive. The version to be released by Retro Software will feature 24 screens (4 x 6-screen sets) and will also include a screen and character designer, as per Repton 3.
Speaking of which I have heard a rumour that Matthew Atkinson (author of the original Repton 3) might be designing a screen for the game too.
It is worth mentioning that this is not merely another set of Repton 3 'add on' screens, as it has been reprogrammed from scratch and it includes most of the features from Repton 3, including:
Larger playing area (30x28 characters instead of 28x24 in Repton 3)
Absorbalene Pills -which enable you to go through doors and gates
Anti Clockwise Spirits (as well as the original Clockwise Spirits)
Balloons (Which work in the opposite way to falling boulders - they go up!)
Multiple Time Bombs
Ice Pills
Potentially twice as many monsters or transporters
Music volume control
This all sounds very exciting doesn't it? The release of a proper sequel to Repton 3 even if it is taking place some 20 years later than originally intended!
And now here is the moment you've all been waiting for, a WORLD EXCLUSIVE screenshot of the actual game.
Repton : The Lost Realms - in game screen shot
Notice the balloons, and the Anti-clockwise Spirit.
The game will be released on both cassette and disc for the BBC Micro (can you still buy 5.25" discs new?) but there should also be an emulation file available (it would be silly not to really, as not many of us have a BBC Micro set up and running anymore, but we can all emulate it!).
It is also hoped that one-level demo will be available at some point, and in the future it is also hoped that there will be an Acorn Electron version.
Pricing has yet to be announced, but I would imagine it won't be too expensive, mainly to cover costs more than anything as Retro Software is a non profit entity. For more information on Repton and all of the other titles, head over to
Perhaps you would be willing to contribute to the actual development of new games, whether it be designing graphics/levels, composing music, drawing cover art or even coding 6502 assembler (in which case you should sign up to their forum
It is excellent to see new games being developed for the good old BBC after all these years, and I really hope that this venture is a success. The new titles genuinely appear to be of a very high standard (as were the recent Cronosoft releases Egghead in Space and Weenies, which put many previous commercial releases to shame!).
My thanks go to both Dave Moore for providing facts and information and allowing us here at Foundation RISCWorld to show the world the first ever screen shot of Repton: The Lost Realms, and also to 'Samwise' for providing details about Repton and general information for this article.
And so we reach the end of a slightly different than normal column, which I hope people found interesting and at least with the lack of 32 bit activity there is still life in the good old 8 bit systems even now. As ever if anyone has any comments, software plugs, hints and tips then feel free to drop me an email.
ÿÿÿÿISSUE3/IYORIP/INDEX.HTM Issue 3, Iyonix RIP
Iyonix RIP
Foundation RISCWorld breaking news
As we were going to press the following announcement was quietly slipped onto the
IYONIX Ltd
IOYONIX Ltd (sic) would like to announce that from the 30th September 2008 it will not be possible to order an IYONIX computer. There are however very limited supplies of IYONIX computers available for supply and where possible we will be delighted to supply computers before this date (orders will be dealt with on a first come first served basis and are limited).
From 1st October 2008 support for the IYONIX computer will continue through:
The IYONIX dealer networ
The IYONIX website (www.iyonix.com
By email (sales@iyonix.com & support@iyonix.com)
In the meantime Jack Lillingston & John Ballance would like to thank all their customers for their business and support over the last 15 years. IYONIX Ltd will continue to trade until stocks of IYONIX and other Acorn RISC OS parts and accessories are exhausted.
The opening up of the RISC OS source code through ROOL is unaffected by this announcement.
Jack Lillingston
Fax: 0870 705 8879
web: http://www.iyonix.com
email: sales @ iyonix.com,support @ iyonix.com
So are you surprised by this announcement? If you are then you haven't been paying attention. Iyonix Ltd has done the job that Castle Technology Ltd set it up to do. Perhaps it would help if we went through the history of the Iyonix, from cradle, to unfortunately, grave.
The Iyonix History
The Iyonix was developed as a Set Top Box (STB) by Pace engineers under the code name Tungsten. The hardware and the 32bit RISC OS 5 were developed at the same time and done as a "black book" project. This means that the managers at Pace didn't know what the engineers were actually up to. RISC OS 5 itself was simply a 32bit version of RISCOS Ltd's RISC OS 4. This was perfectly proper, as the intended use was for a set top box and the agreement between RISCOS Ltd and Pace (which had been inherited from Acorn/Element 14) specifically allowed Pace to use RISCOS Ltd's sources for their own STB projects.
However things went wrong when the upper levels of Pace management in Shipley, Pace's head office, discovered what the Pace engineers at Cambridge had been doing. The result was that the Cambridge operation was shut down. Shortly after this Castle Technology Ltd "acquired" the RISC OS 5 sources and the proposed hardware designs along with some of the original engineers, the intention being to turn the Tungsten STB into a desktop computer. The original hardware designer, Robert Sprowson, didn't come on board and so Castle recruited Peter Wild (who had designed hardware for Computer Concepts and others) to make the necessary changes. Everything had to be done quickly. From Castle first getting hold of the Tungsten project to the Iyonix being launched was only just over 6 months.
The released Iyonix was a bodge, yes it worked well and provided a longed for upgrade for RiscPC users and it was well received, and rightly so. However it wasn't designed for a long production life as it used some components that were near obsolete when it was launched (for example the Geforce graphics card). The real problem for the Iyonix came with the adoption of the ROHS regulations on the 1st of July 2006. These contained regulations that banned the use of certain "hazardous" substances in consumer items. One of these substances was lead. The Iyonix was designed to use leaded parts and leaded solder.
At this point Castle Technology Ltd really had two choices. Either to stop selling the machine, or to properly re-engineer it so that it could continue to be manufactured. Unfortunately by this stage Castle Technology Ltd was in a poor state financially. The £250,000 payment to Pace had hit hard and re-engineering simply couldn't be afforded. So it looked as though the Iyonix was dead.
However Castle came up with a cunning way of "avoiding" the problem. A further batch of motherboards (around 50 or so) were manufactured before the 1st of July cut off date. These motherboards were then "sold" to Iyonix Ltd, which had been set up in September of 2005. Iyonix Ltd would then assemble the machines and sell them. This was an artificial construction designed to avoid the regulations. Indeed the ROHS regulations actually had clauses that outlawed what Castle Technology Ltd and its directors were doing, but Castle Technology Ltd had a history of sailing "close to the wind".
So just before the 1st of July deadline all the current stocks were passed to Iyonix Ltd. From this point on the Iyonix was already a dead product. No more could be manufactured and by refusing to re-engineer the product Castle Technology Ltd had given up on the RISC OS market and condemned the Iyonix to an early grave. Once the stocks had been sold that would be the end of the Iyonix and of Iyonix Ltd.
So, as we can see from the Iyonix Ltd press release, this has finally come to pass. The stock of Iyonix machines have finally been sold, though it's taken over two years for Iyonix Ltd to sell the 50 odd machines that it had "inherited" from Castle Technology Ltd.
So what happens now?
Now we move into the realms of speculation. We know that there will be no more Iyonix machines and that Iyonix Ltd will be shutting down at some point. But what of Castle Technology Ltd itself? Well the main holding company, Castle Technology Holdings Ltd, has been dormant for some time. A quick check with Companies House revealed that it's annual return is over four months overdue, which doesn't sound encouraging. Castle Technology Ltd itself hasn't filed its accounts and these are some two months overdue. However what is interesting is its year end, the 30th of September, which incidently is the cut off date mentioned in the Iyonix Ltd press release.
It would seem likely that Castle Technology Ltd itself is about to be closed. Why else would Jack Lillingston and John Balance thank their customers of the last 15 years? As we have seen Iyonix Ltd has only existed for 3 years. Time will tell, indeed it might all become apparent by the time you read this issue as we are writing this article on Monday the 29th of September, one day ahead of the Iyonix deadline.
It will be a shame if Castle Technology Ltd does close down, but it won't be unexpected and nor will it be anyone's fault except for the company's directors themselves. Whilst what's happening to Castle Technology Ltd (and it's sister companies) is a shame, the damage Castle Technology Ltd did to RISC OS and the RISC OS market is a real tragedy.
We will be covering this developing story in the next issue. However if you are a Castle Technology Ltd fan you might not like what you are going to read. Such a tale of lies, deceit and criminal activity is hard to believe, but will explain the failure of the Iyonix all to clearly.
...and in this land of liberty, we'll make our living at poetry...(you'll starve - DH)
Welcome back to the Foundation RISCWorld letters page. The merger of the two magazines, Foundation RISC User and RISCWorld seems to be going down fairly well with our readers, although it has raised a few questions...
Hi Aaron,
Having finally made it from Nippon to Aotearoa (Japan to New Zealand for those who insist on sticking to English), in one piece as far as I can tell, I have at last got into Vol. 9 Iss. 1 of what is now Foundation RISCWorld - on my shiny new Mac, since the RPC is still on the ship.
All I can say is that this stands to be a useful combination of resources, and if past performance of its parents is anything to go by, we, your readers, can look forward to an interesting and useful publication (not to say a list of vehicles to avoid buying at all costs). My initial reaction is, so far, so good.
The manner in which the Foundation half ceased to exist on its own raises the question of whether those who subscribed to both will receive some form of recompense for issues not received - an appropriate extension of our FRW subscriptions, perhaps? I hasten to say that I have not been tallying missing issues, and don't propose to attempt to do so, so I shan't be checking.
In response to the question you probably haven't bothered asking, I haven't tried my Vol. 8 Iss. 1-6 CD that I asked about last time in the Mac's drive for the simple reason that it, too, is still on the boat.
Kia-ora, and all the best for the future of FRW.
Michael Poole
Thanks for the letter. We hope that by combining the two magazines we can seriously improve them. At the moment the magazine is more "RISCWorld" than "RISC User", but in part this is because I work a long time ahead (believe it or not I already have stuff lined up for Volume 10). Another reason why the new magazine is more "RISCWorld" is that we've had difficulty contacting some of the old RISC User authors. So if anyone out there used to write for RISC User and would be interested in writing for Foundation RISCWorld (in exchange for money) then please do get in touch.
With regard to subscriptions for Foundation RISC User, I'm sorry but there isn't a great deal we can do at the moment. We know that there were a few people who were still owed issues by RISCOS Ltd and they obviously haven't had them. We are talking to RISCOS Ltd about this and the current proposal is for a "special" bonus CD to be sent to all those who had Foundation subscriptions when the merger took place. I can't really say a great deal more at the moment as things are still a bit up in the air.
I hope that you finally manage to get all your stuff off the boat and into your new house. We only moved 150 miles when we came to Derbyshire and that was stressful enough. Moving from one country to another and transporting stuff on a container via a ship doesn't appeal to me.
Moving on, Foundation RISCWorld regular Martin Carrudus has been busy again...
Hi Aaron
At the risk of bombarding you, hot off the press, yet another Acorn RISC OS application. There was an algorithm (method) I learnt a long time ago, called The 'Quine-McCluskey' Method, but I am not even sure of its spelling - it's not in any of my Maths reference books.
Anyway, I have implemented the Method, for what it's worth, as it's rather academic. Please find attached !QuineMcC, zipped, all to do with logic simplification.
This is my 55th Acorn application so far:-) No doubt, I'll find some bug, and have to resupply...
Regards,
Martin Carrudus
Thanks for sending a copy of this, but I'm sorry to say that it's gone straight over my head, with plenty of clearance. Having said this I have been having a play and setting up the grid of numbers and trying to predict the resulting equation is actually quite fun (although I know that's not the intended use).
Now let's take a look at one of my "favourite" subjects, technical support...
Hi Aaron
I've just finished reading, in RISCWorld 8-6, your little rant-ette about customers who need support and don't communicate well or explain the problem properly. I have the same problem (and a couple of others) since installing RISC OS 6 so here goes.
I bought a stand alone version of RISC OS 6 at the South-West show.(Select 4. Issue 2 April 2007). I'm not in the Select scheme.
I installed it on my laptop so it is now softloaded over my VirtualRPC-SA (ser. no. 20245-VRP). Everything works well except for 3 problems.
1. Since installing RISC OS 6, there is a directory in HostFS::HardDisc4.$ called SelectSupport. Within this is a directory - VRPCFeatures. Within this is a !Boot file which contains a little program !VAShuDwn. It's supposed to make returning to Windows easy. The fullpath is:- VRPCFeatures.!Boot.Choices.Default.Boot.Tasks
On merging this with your Boot sequence, it gives you, on shutdown, a new window with a choice of "Restart RISC OS" or "Return to Windows". Clicking on the latter gives an error message "Bad Command 12". The only way to get back to Windows is to use Ctr+Alt+Delete.
2. The caps lock is on at startup and I have to press caps Lock to get back to normal operation. No matter what I do in Configuration; keyboard, it is always thus. If I return to Widows without pressing Caps Lock, Caps Lock is also now on on the Windows side.
3. The floppy drive now constantly reports empty when there is a disc in it & the same happens when I return to Windows.
Hope I've given enough info.
Can you help, please
Chris Newman
Thanks for the letter. I think that I might be able to help, at least a bit. Firstly the "SelectSupport" folder was always present, as it's part of the default VirtualRPC disc build. It's nothing to do with the RISC OS 6 install, secondly you didn't need to install it, it's designed for versions of RISC OS 4, not RISC OS 6 (when the components were put into the VirtualRPC builds RISC OS 6 didn't exist). So the first thing to do is go delving into your !Boot sequence and then remove the !VAShutDwn application as you don't need it and it won't work with RISC OS 6, as you have discovered.
Moving on the the Caps lock problem, I don't have a solution for this, although I have seen it happen. I suspect it's because the two versions of RISC OS, the RISC OS 4 that boots up and the RISC OS 6 that gets soft loaded, store their settings in different place in the RISC OS CMOS RAM. If you try booting into RISC OS 4 (rather than RISC OS 6) does the Caps Lock status get correctly reported?
The floppy drive failing to work after a copy of Select has been installed is a well known problem. It seems to be caused because under a VirtualRPC the soft load happens very quickly, certainly far quicker than a real machine. So the floppy gets interrogated by RISC OS 6, before it's spun down again after having been interrogated by RISC OS 4. Whenever a copy of RISC OS loads it always spins the floppy drive (you will see the light come on). The "solution" is to make sure that you have a floppy disc in the drive before you load VirtualRPC. This alters the behaviour of the drive and RISC OS 6 gets the "correct" information when doing its interrogation.
Hopefully the above will solve at least two of the problems. Talking of problems here's one that left me scratching my head...
Dear Aaron,
Having just started subscribing to Foundation RISCWorld I was very interested to read your remarks about the attachments problem with MPro in your Technical Support article. Apologies for the delay in replaying - I've been busy polishing off the next issue.
You may recall that I raised this with you a few months ago, and you referred me to Paul Beverley's solution. My own experience since then has been rather different, so I thought it worth reporting.I do recall - what gets me is that there are 100's of people using MessengerPro on VRPC without any apparent problems.
Firstly I should say that when I mentioned it to Andrew Rawnsley he warned me against booting VA from ADFS rather than HostFS, as it would ruin UniPrint, which I use a lot. It's easy enough to avoid this problem - by getting Uniprint to save its print job into the "old/unused" boot sequence that will still be on the HostFS drive.
In the simplest terms my experience with sending attachments is as follows. I have two alternative configurations:-
A. Running ADFS::IDEDisc4.$.!Scrap at start up. B. Omitting this from running at start up.
Whichever configuration is set at first booting, sending e-mail with an attachment always fails and VA freezes. I can always "unfreeze" it by rebooting having first changed the run at start-up to the alternate configuration, i.e., if the original configuration is A., change to B., and vice-versa. So far this has never failed to unfreeze VA. Thereafter I can continue sending e-mails with attachments during the same session, but of course if I switch off and re-boot I am back to square one. I wonder if it's something daft with the name of the current Scrapfolder? This is derived from the state of the network when RISC OSboots...what's the name returned by:
*Show wimp$scrap
Suppose you implicitly set this (assuming MessengerPro uses it and you will need to ask R-Comp which Scrap variables it uses) to a fixed file. It could simple be that Mpro doesn't like something in the Scrap path?
At least I can now send e-mails with attachments, but it is a bit tedious, involving:
1. Exiting VA2. Rebooting3. Editing !Boot to change configuration4. Rebooting again
I hope this may provide clues to what is going on. Can you suggest any way in which this procedure could be simplified?
Andrew Murray
This one still has me stumped, because, as you say, there are hundreds (or more likely thousands) of people using Messenger Pro on VirtualRPC with no problems at all. I have spoken to R-Comp about this at some length, but we are none the wiser, but at least they are better informed. Firstly R-Comp have told me that MessengerPro doesn't actually use the Scrap directory, it keeps stuff in it's own directory inside Choices, which of course is part of the !Boot sequence. As such I am heading towards the conclusion that "something" is wrong with your RISC OS !Boot sequence.
We know that Messenger Pro works on VirtualRPC. We know that the vast majority (certainly well over 99%) of people don't have any problems, so it must be something specific to your set up. As such my advice is as follows:
Quit VirtualRPC
From Windows navigate to C:\Program Files\VirtualAcorn\VirtualRPC-xxx\HardDisc4
Rename the folder called !Boot to OldBoot (note the lack of the ! character)
Install another copy of VirtualRPC in C:\Program Files\VirtualAcorn\Temp\VirtualRPC-xxx
Move the !Boot folder from the new "temp" VirtualRPC into the old one
Now start up VirtualRPC and see how it behaves
Note that you will need to re-set the screen resolution and some other settings that are stored inside !Boot
This will replace the current !Boot sequence with a new copy. You can always revert to the old !Boot as we didn't delete it, we just renamed it. I suspect that with this change Messenger will now function correctly. If it does we know that the problem was in the "old" !Boot sequence.
Having, hopefully, fixed the above problem it seems that Andrew isn't the only one who's had an "issue" or two...
Hi Aaron,
Yes, it's him again! I was not happy with Quine-McCluskey, because it found ALL the logic expressions that fitted in the TRUE area, and they very often overlapped and reduplicated themselves i.e. It was not finding the most efficient Boolean representation.
What I did was to make it look back through all the expressions generated by Quine-McCluskey and eliminate those that were overlapping and not essential to the logic expression. It was all going pear-shaped, and I thought, "Nice Try, " until I studied my code again, and found I was mixing up my rows and columns. That was why it crashed on one occasion, because it was trying to access rows/columns that didn't exist!
I am VERY pleased with the result now. It still, on occasion, doesn't choose the most obvious solution, but it's doing MUCH better than it was in finding the simplest representation of the Boolean expression (i.e. there are less things ORed together).
So, I have pleasure in attaching Version 2.00. I have tried to test it out asbestos I can, so I hope I needn't bother you again, unless I dream up something new to program up.
Regards
Martin Carrudus
Thanks for the updated version. I am including this one in the Letters section of the Software directory on this issue. Any feedback from users should be sent directly to Martin, all the contact details are in the documentation in the archive with the main application.
To contact the RISCWorld letters page please e-mail us using the following
Aaron Timbrell
ÿÿÿÿISSUE3/NEWS/INDEX.HTM Issue 3, News
News
The latest news to land on the RISCWorld editorial desk...
RISCWorld's pick of the news from the last couple of months...
New distributor for Impact Database
Sine Nomine Software has taken over the distribution of the popular database package, Impact, originally developed by Circle Software and more recently distributed by CJE Micro's. Matthew Phillips of Sine Nomine Software, speaking from his high-tech broom cupboard in a secret Scottish location, revealed that he has been the mystery programmer behind Impact for the last five years. "Now that we are distributing the software ourselves, we hope to be able to bring out updates more easily," he said. "We will also be able to write press releases in the third person and all sorts of other fun things."
Chris Evans, of CJE Micro's, said that he didn't have much to add, but was happy to have the opportunity to remind customers that he still has 2999 other items 'in stock'.
Impact 3.29 is now available at the bargain price of £55 for a full copy, with upgrades from earlier versions ranging from £0 to £30. For more information please visit
About Impact
Impact is an easy to use relational database system for RISC OS. It provides for the creation, editing, import and export of data, and allows data to be merged directly into Impression or OvationPro documents for mail shots, report generation, invoicing, etc.
Impact also has a powerful scripting language enabling a high degree of user configuration, greatly improving the ease of use and general productivity. It also includes the label printing software LabPrint which interacts seamlessly to allow printing of labels in a wide range of customisable formats.
About Sine Nomine Software
Matthew and Hilary Phillips have been programming for RISC OS for eighteen years. Their recent products include graphics utilities (DrawPrint, DrawToSprite, SpriteClean), games (SuperDoku) and genealogical utilities (GedcomWeb, Prune).
Free trial copy of Archive
If you haven't seen Archive magazine lately, you might like to take up our offer of two free trial issues, and we think you'll like it.
The most recent issue out has interviews with John Cartmell (the editor and publisher of Qercus) and with Jan-Jaap van der Geer, along with a review of !Hedwig, his new Colibri-like application for finding files.
A hardware feature tells how to use a Compact Flash card as a completely silent hard drive in a RiscPC. There are ongoing technical articles about compiling with GCC, tutorials about spreadsheets and Datapower, and lots of other interesting stuff.
Archive has a "lively tone going", says David Pilling in the letters-to-the-editor section. And the next issue is about to go to press.
Drop me an email with your postal address and we'll be pleased to send you a couple of trial copies with no obligation.
Jim Nagel (editor@archivemag.co.uk)
RISCOSCode issue 3
Issue 3 of RISCOScode is now available to read on-line. Martin Hansen's webzine this time features:
A front page Gogo animation slide show,
A design competition with £40 worth of prizes,
An appreciation of RISC OS artist Simon Smiths amazing work using !Draw,
A full software review of MoreDesk from Steve Revill's company, 7th Software,
An insight into the display of 256 colour cards, and picking colours from them using BBC BASIC. This is the first part of a two part programing tutorial
The magazine has again been 100% produced using RISC OS software. Considerable effort has gone into developing the structure of the magazine so that it displays as beautifully on a 3G iPhone as on regular desktop and laptop machines. In his NEWS report Martin explains what the key design features are that work well, and what to avoid. Martin clearly feels that mobile web browsing is going to revolutionise website design.
The primary purpose of RISCOScode is to emphasise the fun, hands on and hobby nature of modern day RISC OS computing be it on native hardware or under emulation.
RISCWorld
ÿÿÿÿISSUE3/PD/INDEX.HTM Issue 3, PD World
PD World
Paul Brett with the latest freeware and PD releases for RISC OS.
Welcome back to our regular perusal of the latest new software releases for RISC OS. I am delighted to say that we have rather a packed column this issue and there are several other items that I would have liked to have covered, but which haven't quite made their full release in time. Still there is plenty for us to get our teeth into. Lets us start with something that finally resolves one of the great restrictions on using RISC OS for browsing the internet, Flash Video. Or, to provide a specific example, playing videos from YouTube.
Murnong - Christopher Martin
Murnong isn't an application in the traditional sense. What is allows a user to do is to intercept a streaming video file from the internet and to convert the data into something that RISC OS can display using KinoAmp. It works like this. Wget (which you need to install) is used to grab the video as it's streamed to your internet connection. This video is saved as a complete file. Then this file is converted, using a RISC OS version of the well known FFMpeg converter, to a format that can be played back on RISC OS machines with a StrongARM or better.
Installing Murnong is quite simple. Firstly de-archive the "Morning-part1/zip" file to a suitable location on your harddisc (I recommend creating a Murnong directory on the root of your main hardisc and installing the application into there). Then de-archive the contents of the "Morning-part2/zip" file over the top of the de-archived part 1. Now you need to do the same for part 3. However you need to choose the correct version of part 3 depending on what machine you have. There are 3 different versions of part 3, one for StrongArm machines, one for the Iyonix and finally one for the A9. Having de-archived all the relevant parts you should now have a complete !Murnong application. You will also need to de-archive a copy of WebGet and place that in the same folder as Murnong.
Having assembled the three parts you can now run Murnong. Once it's loaded on the iconbar you can get further instructions by clicking MENU over the icon on the iconbar and clicking on Help. I strongly recommend that you read these instructions before trying to use the application as without them you are unlikely to have a great deal of success.
The next step in the process is to navigate, using your internet browser, to the page that displays the video you want to see. Now save a local copy of that page on your harddisc. Note that you need to save the page itself, not just the URL for the page. I have provided an example one that links to a video of a studio recording of the Goons performing The Whistling Spy Enigma. Drag this saved web page to the Murnong icon.
Murnong - fetching a video
You can now fetch the video stream. Save the data to a suitable place on your harddisc, I suggest into the same folder as Murnong itself. Once the video has been downloaded drag the resulting data file back onto the Murnong application. It will now be converted to a format that can be viewed using KinoAmp, which I have also supplied.
Murnong is a work in progress but a very welcome one none the less. It's ben very well received, understandably, by the RISC OS community. Enjoy it, as there may be a great deal more of interest on YouTube than you ever realised.
StudioSound (32bit) 1.02 - Chris Wraight
This is a work in progress 32bit conversion of StudioSound, one of the best RISC OS audio manipulation applications ever written.
StudioSound
As Chris himself says this is an early experimental version. Currently MIDI support has been disabled and the application is not guaranteed to work correctly on all machines. However it does allow users of the A9 and Iyonix to enjoy a thoroughly excellent application, which will run much better natively rather than under Aemulor.
Kbdst - Steve Potts
!KbdSt is a small application that displays the current state of the keyboard LEDs on the RISC OS Desktop. Whilst this might not make a lot of sense for wired keyboards it's a god send for wireless ones, which, due to power constraints, don't have LEDs to show the state of the keyboard.
Kbdst running on the iconbar
Kbdst was originally created for use on the A9Home. Steve has his A9 hidden from view behind a display panel in his lounge and uses a wireless keyboard and mouse, hence the need for an indication of the keyboard state. The application has been tested on RISC OS 4.42 but also on RISC OS 6.10. However it should work on all versions of RISC OS from 4.02 onwards.
Rover 1.07 - Martin Avison
Rover provides an easy method for the user to find out about new versions of applications that they might be using. Once an application has been registered with Rover it can be monitored.
Rover in action
Rover connects with the riscos.org software database (
In order to get the full use from Rover you will need to tell it about the applications that you use. This can take a little time to set up, but it's well worth it in the long run as you know that you won't miss out an any important updates to the applications you use.
Signing off
And there we must leave our journey through the world of RISC OS. If you have anything that you would particularly like to be featured please send an e-mail to the
Paul Brett
ÿÿÿÿISSUE3/RINGS/INDEX.HTM Issue 3, Creating the Olympic Rings...
Creating the Olympic Rings...
Richard Ashbery continues his series on techniques with ArtWorks.
Introduction
Many excellent tutorials have been written for Xara users. This is my second article which shows how drawings created in Xara can be converted in some cases quite simply using the tool suite in ArtWorks. Some of the effects take a little longer to perfect - for example the shadow described in detail towards the end of the article is challenging because there is no equivalent shadow tool in ArtWorks. There is always an alternative solution however.
By the time this is published the Beijing Olympics will be well and truly over but the Olympic icon with its five distinctive rings will live on for ever. This simple icon makes an ideal graphic and can be used to explain one of my favourite ArtWorks utilities - the Intersect tool. Although ArtWorks doesn't have a specific bevel tool a bevelled surface is easy to create and adds extra detail and interest to the final picture - figure 1. Let me explain how it's constructed.
Fig 1
Setting the Grid
Before drawing a ring the grid needs to be set up to ensure the ring bevels are the correct width. If the ring and bevel width is too great they will overlap and spoil the effect.
Set the grid (CTRL-F10) as shown in figure 2
Note the Subdivisions are set for 8 and on a default page (100% magnification) are not displayed - only 4 are shown
Double the magnification to 200% - all 8 Subdivisions will be shown. Create the ring at this magnification
Fig 2
Drawing the Ring Circles
Each ring consists of a series of concentric circles.
Start the drawing in the top left corner of the page
With "From centre" selected CTRL-drag out a circle 6cm in diameter
Set fill colour to none
CTRL-drag out another concentric circle this time 7cm in diameter
Drag out a further circle making it 2 subdivisions smaller in diameter than the 6cm circle
Drag yet another circle but his time make it 2 subdivisions larger in diameter than the 7cm circle. Your drawing should be as shown in Figure 3
Fig 3
Testing the Design
Before going any further check that the rings overlap properly - as previously mentioned this is important. Temporarily group all 4 rings, clone twice and drag into position shown in diagram (figure 4). Check there is sufficient overlap. If you use the measurements suggested in the last section this shouldn't be a problem.
Fig 4
Preparing the ring and bevels
After checking that the overlap is sufficient the two clones can be discarded. The ring can be prepared for colouring and graduated fills applied. The procedure is simpler to follow if the three shapes (ring and two bevels) are separated as described and illustrated below.
Ungroup the ring and bevels
To create the outside bevel drag the largest concentric circle to any clear space on the page. Clone the 7 cm diameter circle and drag inside this largest circle and align
To create the inside bevel drag the smallest concentric circle to any clear space on the page. Select the 6cm diameter circle, clone it and drag over this smallest circle and align
You should end up with three separate concentric circles (ring and two bevels) as illustrated in figure 5
Make a fourth circle group by cloning the smallest and largest circles. This will be used for creating a shadow
Fig 5
Join Shapes
Before applying colour effects to the individual circles ArtWorks has a superb tool that enables a transparent hole to appear in a solid shape. The Join shapes tool makes objects or text in the centre of the ring visible. Apply this to all concentric circles as follows.....
Select the Central ring pair and apply Join shapes by pressing CTRL-I
Select Outside bevel pair and apply the Join shapes tool again
Do the same for the remaining concentric circles
Colour Preparation
The rings consist of blue, black, red, yellow and green. All of these are built into ArtWorks by default but the bevels need to have new colours created as shown in figure 6. The only ring colour I changed was the green...... mid-green instead of default green - the original being just a tad too intense. Feel free to round the individual RGB colour values up or down - this really makes very little difference to bevels in the final graphic. My last article indicated a way of using the colour sample tool to get the colours into your current document if you don't want to type these colour values in by hand.
Fig 6 New RGB Colours
The Great Bevel Illusion
ArtWorks does not have a bevel tool but using a simple graduated fill as described below in figure 7 creates the illusion and is quick to do. Realism for a bevelled surface relies on a light source - in the example shown the light comes from a North-West direction and this must be considered when doing the graduated fills. The large bevel "sees" the light on its North-West surface, the small bevel sees it on its South-East surface. All will become clear when the rings and bevels are aligned.
Apply the default blue colour to the central ring
Apply graduated fills to the outer and inner bevels with the new colours and in the direction shown
Fig 7
Grouping the rings and bevels
Select all three shapes. Invoke the alignment tool (CTRL-F9). Click both On/Off buttons and the two Centre buttons. Click OK. All shapes will be centre aligned (figure 8)
Adjust-click on the None button to remove outlines
Group all three shapes
Fig 8
The Five Rings
Clone the new shape four times and position as shown in figure 9. Use guide lines to help if required
Fig 9
Applying Colour to the Other Four Rings
Select each one in turn, ungroup and apply black, red, yellow and green to the central ring. Use the procedure in figure 7 above to apply a graduated fill to each ring bevel pair. Remember to re-group each bevelled ring after colouring (figure 10).
Fig 10
Interlocking Rings
The classic feature of the Olympic rings is that they interlock. For example a section of the blue ring must appear behind its yellow neighbour. All an illusion of course but can be accomplished very simply with ArtWork's Intersect tool. The procedure is carried out a number of times to give the appearance that all rings interlock.
First identify the four interlocking points (X1-X4 in figure 11)
Using figures 11 and 12 as a guide clone the blue ring
Place an ellipse over the first intersection....X1 and apply a fill colour of black
Adjust-click on the cloned blue ring
Utilise the Intersect tool by pressing CTRL-Shift-W
Perform the same steps for the other intersections....... X2, X3 and X4
Figure 1 shows the final result
Fig 11
Fig 12
The Shadow
This is probably the most difficult effect to achieve in ArtWorks since there is no individual shadow tool but with care this can still be done. Earlier in the tutorial I suggested drawing two additional circles (inner and outer bevel circles) for the shadow. My recommended procedure for creating this final stage is as follows:
Create a new layer and name it shadow
Select the last concentric circles from the circle set shown in figure 5 and CTRL-C/CTRL-V them to the current layer
Select both circles, press CTRL-I to join shapes and apply a fill colour of black
Align with the blue bevelled ring
Clone the black shadow ring and CTRL-drag over the existing black bevelled ring
Repeat for the other three rings (figure 13)
Group all 5 black rings
Fig 13
More Colours
To produce a realistic shadow a sequence of off-centered clones starting with the lightest one (white) to 40% black is required. The shadow will require additional colours (sequence of grey tints to be precise) to be created. For simplicity the shadow consists of 10 clones of grey from 0% - 40% in steps of 4%. Feel free to alter the number of clones or the colour step - in figure 1 the shadow is composed of 20 cloned shapes from white to full black in steps of 5% but this takes considerable time to do.
Create additional grey tints....... 4%, 8%, 12%, 16%, 24%, 28%, 32%, 36%. Tints for 20% and 40% are already available by default.
Fill the new shape (ring shadow) shown in figure 13 with the colour white
Press CTRL-Shift-F8 to go to outline mode
Temporarily switch off the foreground layer by clicking on its eye icon in the Layers menu
Select high magnification (500%)
Select and clone the shape and click on the 4% tint icon
With the grid off, drag the shape in a North-West direction
Repeat for all other tints (clone/tint/drag) until you have built up 10 tinted clones + the original shape (figure 14)
Group all the shapes - this is an important step
Press CTRL-Shift-F5 and switch on the foreground-layer
Adjust-drag the shadow layer immediately below the Foreground layer to swap them - the shadow now appears correctly behind the rings
Finally align shadow with the coloured rings (figure 15 shows the final image)
Fig 14 Top-left-hand-corner of shadow highly magnified
Fig 15 Final image
Finally
I hope you will agree that ArtWorks is a very accomplished piece of programming and although it doesn't possess the array of tools offered by Xara I am amazed and surprised what can be achieved.
I was thinking about including another animation - perhaps bringing the rings from around the edges and moving/grouping them to form the Olympic rings but there are several problems here - the number of intersections required for each frame, how would the shadow be rendered etc. If anyone would like to have ago I would love to see the result.
I will be covering other Xara to ArtWorks conversions in my next tutorial.
Richard Ashbery
ÿÿÿÿISSUE3/SHOWS/INDEX.HTM Issue 3, Show News
Show News
All the latest news on forthcoming shows...
RISC OS South East - 18th October 2008
By the time this issue arrives on your doormat it will only be a few weeks before the RISC OS South East Show. As usual the show will be taking place at Guildford College in Surrey, and is organised by the Surrey and Sussex Acorn User Group.
The show takes place on the 18th of October, tickets are only available on the door and cost £5 for adults with the show opening at 10 in the morning and closing at 4pm. All of the stands are now booked with the usual collection of RISC OS based companies in attendance (except for VirtualAcorn who can't make it - ED). The South East show is the only show to still feature a lecture theatre, although at the time of going to press the list of talks had not been confirmed. A range of drinks and sandwiches will be available for visitors, assuming the exhibitors haven't eaten or drunk the lot before the show even opens.
The show
Arm Club Christmas Show - 6th December 2008
We previewed this show in detail in the previous issue, but we thought it would be worth reminding everyone. The show takes place at the University of Birmingham Guild, Edgbaston Park Road, Birmingham, B15 2TU on Saturday the 6th of December. It opens at 10:30 am and shuts at 4:00 pm. Tickets are only available on the door and cost £3.50 for adults. Arm Club and MUG members can get in for only £3.00. Children under 12 will admitted free.
The latest information can be obtained from the show website at
Wakefield Show - 25th April 2009
Despite the muttering on some of the RISC OS Newsgroups, the Wakefield RISC OS Computer Club have confirmed that the Wakefield 2009 show will be going ahead as normal. The important details have been confirmed to potential exhibitors and the show will take place on Saturday the 25th of April 2009. The venue will be the same as last year, and indeed the same as the very first show, the Cedar Court Hotel. This is conveniently located just off junction 39 of the M1 at Wakefield.
At this stage there isn't much more information available, but you can expect most details to be similar to the 2008 show, with a broad range of RISC OS dealers and developers in attendance. Once we have more information we will be including it in a forthcoming issue. In the mean time you can pencil the date in your diary and keep an eye on
Finally
Foundation RISCWorld should be present at all the above shows, either on the VirtualAcorn, or the APDL stand. If you haven't visited a RISC OS show for a few years then we think you should try and attend one (or preferably all - ED) of them. All of the shows have a friendly club atmosphere and you can be sure of picking up a bargain or two.
Foundation RISCWorld
ÿÿÿÿISSUE3/VA/INDEX.HTM Issue 3, VirtualAcorn Tech Support
VirtualAcorn Tech Support
More from Aaron's tech support notebook
I promised myself that I wouldn't start this issue complaining about technical support but it's so difficult not to. This is because such a large proportion of my working day consists of answering technical support phone calls and e-mails. Further to my comments about the 80/20 rule in the last issue I've been doing some further monitoring and have confirmed that the biggest tech support load comes on Monday mornings (because people have had the weekend to bugger things up) and Friday afternoons (because they need to check with me before buggering things up). I've also noticed that on certain weekday afternoons the phone is often silent. I'm certainly not going to say which days, because I use the uninterrupted time to get on with other jobs, such as writing and editing Foundation RISCWorld.
Disc and Drives on the Mac VirtualRPC
As users of the VirtualRPC for the Mac may have noticed there are a few components that are present in the equivalent Windows versions but that are missing from the Mac version. Perhaps the most significant of these is DrivePop. This little app sits on the iconbar and allows storage devices that are connected to the host PC to be opened in RISC OS. So a user can plug in a pen drive, click on DrivePop and hey presto a filer window opens for the pen drive on the RISC OS desktop.
It was always intended to duplicate this functionality on the Mac version of VirtualRPC, but despite some effort being expended we never managed to get it working "well enough". For those that don't know, the phrase "well enough" is developer speak for "not at all". Anyway in the end we released the VRPC for the Mac without this component as we intended to come back to it at a later date. To cut a long story short we didn't get any spare time to look at it again.
Then a couple of weeks ago a thread popped up on the
So having had enough of what I was supposed to be doing I knocked up a quick application, called !MacPop, that allowed the user to open storage devices (for the benefit of one particular user a scanner is not a storage device). This would scan through the list of devices that could be found and ask if the user wanted to open a filer window for each one. In addition it would prevent the user from ever getting access to, or seeing, the main Macintosh hard disc. Although it's rough round the edges it seems to work very well. I need to re-visit it and produce a much neater and easier graphical front end, but it does the job it needs to. I've included a copy in the Software directory on this issue. If you have a Mac VirtualRPC then please do take a look.
The MacPop application
Note that MacPop is not suitable for the Windows versions of VirtualRPC (I just know that someone will try it - well it runs, but won't find any devices, so don't bother trying!).
Sometimes it just goes wrong
For some time now we've been trying to track down a bug in later Windows versions of HostFS. OK, that's not quite true, the bug has been there since day one, but only started showing up in the last 18 months. The problem relates to date stamps. A file gets copied and, unlike normal RISC OS behaviour, the copied file has a new datestamp, rather than the old datestamp. We have had a number of attempts to investigate this, but up until recently they all proved to be dead ends. In the end the decision was taken to adapt a "belt and braces" approach and to cache the files details before it was copied and restore them afterwards.
An updated HostFS was sent to a few carefully selected Beta testers. The result was a uniform thumbs up. The changes had indeed resolve the problem and everyone was happy. As this was an important update I sent copies to a few more users and asked for feedback. Where there any unforseen side effects? No. did everything work OK? Yes. We then gave it a six week settling down period so that the new HostFS was running on more than 20 machines so that any niggles could be shaken out. No further problems were reported so we decided to put the new version out to general release.
Can you see what's coming next? Of course within a couple of days of the full release going live one of the beta testers came back with a serious problem with ShareFS (the Acorn networking protocol). I immediately investigated and confirmed that in certain circumstances there was indeed a problem. We are investigating as I write this, but have not yet tracked the problem down.
Of course it's Sod's Law that after over 2 months of hard testing a problem only gets reported after the item gets a general release. Don't forget that next time you see me whinging about customers, I might complain about customers messing things up, but I can manage to screw things up pretty well myself.
VirtualAcorn Mailing List
You might be interested in the new unofficial VirtualAcorn mailing list that's recently been set up. Apparently there are some RISC OS users who don't like Forum systems and prefer to read e-mails. Seems strange to me, but there's now't as queer as folk, especially RISC OS folk. Anyway the new mailing list is open to anyone with a VirtualRPC (either PC or Mac) and is being run by that lovely chap Vince Hudd.
You can get more details from
Rounding it up
That's it for this column. I'd love to be able to tell you what's coming next issue, but I haven't a clue, so we will both just have to wait and find out.